Angular js ng-init - 值字段未更新

时间:2014-01-09 18:32:19

标签: javascript angularjs

假设我有以下代码,其中我正在初始化带有某个值的文本框值。

<div id="Mydiv">   
<input type="text" id="text1" ng-init="Some value" ng-model="text1" value="some value"/> 
</div>

此文本框值可随时更改。

在角度js脚本的某些点/操作中,我们正在执行以下代码。

var fnLink = $compile("#Mydiv");
fnLink($scope);

问题在于,文本框中的更新值将会消失,并且ng-init的初始化值即将到来。

例如:如果我将文本框值更改为Jordan,则在执行上述代码后,该值将更改为"some value"

但在观察者中,我可以看到模型值仍为"Jordan"。只有文本框的价值正在发生变化。

伙计们,有人请建议我,如何在文本框中保持更新价值。

这是ng-init的问题吗?

1 个答案:

答案 0 :(得分:1)

从角度文档(http://docs.angularjs.org/api/ng.directive:ngInit):

  

ngInit的唯一合适用途是对特殊属性进行别名处理   ngRepeat的内容,如下面的演示所示。除了这种情况,你应该   使用控制器而不是ngInit来初始化作用域上的值。

显然你没有正确使用它,应该将你的逻辑转移到控制器中。