代码之家  ›  专栏  ›  技术社区  ›  Stephen Alejandro Alcalde

无法读取angular2 nativescript中未定义的属性getPackageManager

  •  0
  • Stephen Alejandro Alcalde  · 技术社区  · 7 年前

    我提到过这个 nativescript-appList Plugin getPackageManager 未定义的。

    我在angular2 nativescript的构造函数中运行以下代码

    import * as AppList from "nativescript-applist";
    
     // inside the constructor
    
     console.log("First", "Test");
    
        AppList.getInstalledApps(function(apps) {
    
            console.log("Second", "Test");
    
            }, {
                withIcons: true
            });
    

    在命令提示符下,我无法看到这个日志控制台。日志(“第二”,“测试”)。我只能看到这个日志控制台。日志(“第一”,“测试”);

    1 回复  |  直到 7 年前
        1
  •  2
  •   Nick Iliev    7 年前

    该插件似乎与Angular项目不兼容,但有一个简单的修复方法可以使其工作。为了做到这一点,你需要直接修改插件的源代码。要么克隆回购并应用下面的更改,然后 npm pack 生成新修改的 文件或安装插件,并直接在中修改代码 node_modules/nativescript-applist/Apps.android.js (这不是一种好方法,因为删除node\u modules文件夹时会删除所有更改)

    要使插件在Angular中工作,请执行以下操作 node\u模块/nativescript应用程序列表/应用程序。安卓js公司 -将前两个延迟加载的属性移动到方法内

    var androidApp = app.android;
    var androidAppCtx = androidApp.context;
    
    function getInstalledListOfApps(callback, cfg) {
        // more code follows here
    

    之后

    function getInstalledListOfApps(callback, cfg) {
        var androidApp = app.android;
        var androidAppCtx = androidApp.context;
    
        // more code follows here
    

    你可以走了!