问)为什么我的数据中的更改未在UI上显示,例如一个项目列表,但是一旦我与UI进行交互,它们就会神奇地出现?
例如,如果我得到一些绑定到列表的数据,然后像这样更新该列表:
this._LocalStorageService.getClients().then(
(data) => {
this.clients = (data.res.rows.length == 1) ? <Client[]>JSON.parse(data.res.rows.item(0).clients) : [];
this.showNoDataPresent = (this.clients.length == 0);
},
(error) => {
this._LogService.error(JSON.stringify(error.err));
}
);
在我与应用互动之前,客户列表不会显示在用户界面中,例如单击菜单按钮,或聚焦搜索字段.
最佳答案 确保已升级到beta.6并遵循以下指南(因为除了更新package.json中的依赖项之外,几乎没有必要的更改)
>将Ionic CLI更新到最新版本:npm install -g ionic @ beta
>如果您使用Ionic 2.0.0-beta.3或更早版本升级项目,请先查看以下指南.
>从app.ts / app.js中删除行导入’es6-shim’.
>在index.html文件中的angular2-polyfill.js之前添加es6-shim.min.js:
<script src="build/js/es6-shim.min.js"></script>
<!-- Zone.js and Reflect-metadata -->
<script src="build/js/angular2-polyfills.js"></script>
<!-- the bundle which is built from the app's source code -->
<script src="build/js/app.bundle.js"></script>
>更新你的package.json(不要复制和粘贴使用这些作为参考并更新你文件中的那些):
“dependencies”:{“angular2”:“2.0.0-beta.15”,“es6-shim”:“^ 0.35.0”,
“ionic-angular”:“2.0.0-beta.6”,
“离子原生”:“^ 1.1.1”,
“ionicons”:“3.0.0-alpha.3”,
“reflect-metadata”:“0.1.2”,
“rxjs”:“5.0.0-beta.2”,
“zone.js”:“^ 0.6.11”
}
>在package.json中,将ionic-gulp-scripts-copy的版本更新为^ 1.0.1.
>从项目文件夹的内部运行npm install以安装新软件包.
>查看changelog149以了解更改并相应地更新项目.
资料来源:https://forum.ionicframework.com/t/ionic-2-projects-updating-to-beta-6/50049