我正在Ionic平台上显示一个带有消息列表的视图(ui-router)。新消息应显示为未读,但应将相应的变量更改为读取。问题是,当我将控制器设置为更改正确的变量时,视图会立即自动更新,并且消息会立即显示为读取。
我该如何处理?
换句话说:在依赖于变量的视图中,我想首先显示视图然后修改变量,以便变量的更改不会影响视图。
当前代码(从模板中调用MarkAsRead()):
MainActivity
答案 0 :(得分:1)
奇怪的是你正在争夺角度的主要因素:双向绑定。也就是说,如果您真的想在不更新视图的情况下对变量进行更改,则可以使用angular.copy
制作对象的深层副本并操作副本本身。或者显示副本但操纵原始
另一种选择,如果你正在使用Angular> 1.3,您可以使用一次性绑定仅第一次更新视图:
只需在表达式前加上 :: ,例如
<p>{{::message.IsRead}}</p>
https://docs.angularjs.org/guide/expression#one-time-binding