我是离子新手,我正在玩离子2 beta.我正在尝试使用cordova插件实现本机日期选择器,如文档中所示.
我完全复制/粘贴了这个例子,我"ReferenceError: DatePicker is not defined上了Nexus 5 Emulator和Archos安卓手机.
openDatePicker() {
var options = {
date: new Date(),
mode: 'date'
};
function onSuccess(date) {
alert('Selected date: ' + date);
}
function onError(error) { // Android only
alert('Error: ' + error);
}
DatePicker.show(options, onSuccess, onError);
}
Run Code Online (Sandbox Code Playgroud)
我已经搜索了很多但没有发现这个,也许我在Ionic 2上使用cordova插件做错了?
缺少相关文档(此问题时的Ionic Native文档仍然是一个WIP).
ionic-native 是一个独立于框架的模块,因此您需要安装它:
# from within your project directory
npm install --save ionic-native
Run Code Online (Sandbox Code Playgroud)
您还需要安装您尝试使用的插件,如果您还没有:
#from within your project directory
ionic plugin add cordova-plugin-datepicker
Run Code Online (Sandbox Code Playgroud)
然后DatePicker在代码中导入插件:
import {DatePicker} from 'ionic-native';
Run Code Online (Sandbox Code Playgroud)
然后和Ionic 1一样,在Cordova准备好之前你将无法使用任何插件.这意味着您可以使用Platform.ready或等待deviceready事件触发window:
constructor(platform: Platform) {
platform.ready().then(() => {
let options = {
date: new Date(),
mode: 'date'
}
DatePicker.show(options).then(
date => {
alert('Selected date: ' + date);
},
error => {
alert('Error: ' + error);
}
);
});
}
Run Code Online (Sandbox Code Playgroud)
还有一点需要注意的是,ionic-native将回调包装在一个承诺中.
| 归档时间: |
|
| 查看次数: |
7490 次 |
| 最近记录: |