angularjs:强制重新渲染/完全刷新指令模板

时间:2013-10-12 20:07:14

标签: angularjs angularjs-directive

由于题外话题,这是重写:

我为下拉列表写了一个指令。我使用该指令两次作为工作流程。第一个下拉列表通过更改操作触发第二个模型的刷新。虽然模型正确更新,但视图却没有。很多时候你在下拉列表中选择项目,第二个下拉列表显示带有新项目的旧项目,尽管角度模型的console.log()是正确的。

视图具有无限递归。使用ng-include和一个ng /模板的id进行自我递归:

我的初始plunkr显示模板代码是这样的: http://plnkr.co/edit/jera17uCluGsFs8o5hRG?p=preview

我不明白为什么视图没有完全刷新?

待更新。

亲切的问候, 亚历

1 个答案:

答案 0 :(得分:37)

通常我所做的是使用ui-if指令,它基本上是由angularui团队制作的if语句,因此我将它放在也是指令的元素上,并说出如下内容:

<div ui-if="mydata.prop" my-custom-directive></div>

这样一来,如果myData.prop发生了变化,或者我将它简单地设置为null,然后重新应用它,它将删除然后将我的html指令转换回DOM,导致它再次评估我的指令。