我是IBM MobileFirst 8.0的新手。如何在离子2项目中使用IBM MFP功能(WL,WLResourceRequest)?
我创建了一个Ionic Project并添加了MFP插件,我将以下行添加到Home Component TS文件中。
WL.Client.setSharedToken({key: "name", value: "Karhik"});
let str: String = WL.Client.getSharedToken({key: "name"});
console.log(str);
但我收到以下错误。如何解决这个问题。或者给出Ionic 2 + IBM MFP 8.0的任何参考文档
我试着在下面这样想。但是返回了同样的错误,
Home.ts
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Device } from '@ionic-native/device';
declare var wlCommonInit: () => {
};
declare var WL;
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [ Device ]
})
export class HomePage {
constructor(public navCtrl: NavController, private device: Device) {
console.log("device platform " + device.platform);
WL.Client.setSharedToken({key: "name", value: "Karhik"});
let str: String = WL.Client.getSharedToken({key: "name"});
console.log(str);
}
wlCommonInit() {
console.log("wlCommonInit TRIGGERED");
}
}
但它不起作用。我需要知道如何在 IONIC 2 中使用 IBM MFP 8.0
将代码添加到Main.ts后,在控制台中返回错误。
答案 0 :(得分:3)
WL必须在其他javascript文件之前加载,以便WL函数在这些文件中可用。 WL的初始化发生在wlcommoninit()
中(可以找到here的使用情况)。建议的方法是确保在此函数中加载其他js文件。
克服此问题的另一种方法是确保在html中的其他js脚本之前包含以下3个脚本。
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/platform.js"></script>
<script type="text/javascript" src="js/main.js"></script>
答案 1 :(得分:1)
在导入语句之前添加以下行,而不是声明WL
和wlCommonInit
。
/// <reference path="../../../plugins/cordova-plugin-mfp/typings/worklight.d.ts" />
这应解决您所面临的问题。