问:为什么我的数据中的更改未在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));
}
);
在我与应用互动之前,clients
列表不会显示在用户界面中,例如单击菜单按钮,或聚焦搜索字段。
答案 0 :(得分:2)
确保已升级到beta.6并遵循以下指南(因为除了更新package.json中的依赖项之外,几乎没有必要的更改)
将Ionic CLI更新到最新版本:npm install -g ionic @ beta
如果您使用Ionic 2.0.0-beta.3或更早版本升级项目,请先查看以下指南。
删除行导入&#39; es6-shim&#39;来自app.ts / app.js。
在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(不要复制和粘贴使用这些作为参考并更新你文件中的那些):
&#34;依赖&#34;:{&#34; angular2&#34;:&#34; 2.0.0-beta.15&#34;,&#34; es6-shim&#34;:&# 34; ^ 0.35.0&#34 ;, &#34; ionic-angular&#34;:&#34; 2.0.0-beta.6&#34;, &#34;离子原生&#34;:&#34; ^ 1.1.1&#34;, &#34; ionicons&#34;:&#34; 3.0.0-alpha.3&#34;, &#34;反映元数据&#34;:&#34; 0.1.2&#34;, &#34; rxjs&#34;:&#34; 5.0.0-beta.2&#34;, &#34; zone.js&#34;:&#34; ^ 0.6.11&#34; }
在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