Angular 5+实现智能应用横幅香草JS

时间:2018-07-31 08:26:38

标签: javascript angular angular-cli smart-app-banner

我正在尝试在我的应用中使用 smart-app-banner ,但是由于网络上没有用于它的输入方式,所以我不知道如何在角度范围内使用它。

到目前为止,我已经在我的 app.component.ts 中找到了它:

import * as smartBanner from "smart-app-banner";
let smartBannerInstance = smartBanner();

constructor() {
    new smartBannerInstance({
        daysHidden: 10, // days to hide banner after close button is clicked (defaults to 15)
        daysReminder: 20, // days to hide banner after "VIEW" button is clicked (defaults to 90)
        // appStoreLanguage: 'us', // language code for the App Store (defaults to user's browser language)
        title: "Title",
        author: "Authot",
        button: "VIEW",
        store: {
            ios: "On the App Store",
            android: "In Google Play"
        },
        price: {
            ios: "FREE",
            android: "FREE"
        }
        // force: 'android' // Uncomment for platform emulation
    });
}

但是我得到了通常的

Uncaught TypeError: Cannot set property 'options' of undefined at SmartBanner

我该如何做?

1 个答案:

答案 0 :(得分:0)

因此,将一个简单的JS库实现到Angular应用程序中的整个过程是这样的(在这种特定情况下,但它适用于大多数库):

首先,我们使用all选择器导入库,如下所示:

import * as SmartBanner from "../../node_modules/smart-app-banner/dist/smart-app-banner.js";

然后,在我们的 AppComponent 类中声明它,然后在构造函数中对其进行初始化。

SmartBanner: any;

constructor() {
    new SmartBanner({
        daysHidden: 10, // days to hide banner after close button is clicked (defaults to 15)
        daysReminder: 20, // days to hide banner after "VIEW" button is clicked (defaults to 90)
        // appStoreLanguage: 'us', // language code for the App Store (defaults to user's browser language)
        title: "Title",
        author: "Author",
        button: "VIEW",
        store: {
            ios: "On the App Store",
            android: "In Google Play"
        },
        price: {
            ios: "FREE",
            android: "FREE"
        }
        // force: 'android' // Uncomment for platform emulation
    });
}

它运行完美。

如果这在某种程度上是性能问题,请任何有进一步知识的人告诉我。