假设我有以下代码,其中我正在初始化带有某个值的文本框值。
<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的问题吗?
答案 0 :(得分:1)
从角度文档(http://docs.angularjs.org/api/ng.directive:ngInit):
ngInit的唯一合适用途是对特殊属性进行别名处理 ngRepeat的内容,如下面的演示所示。除了这种情况,你应该 使用控制器而不是ngInit来初始化作用域上的值。
显然你没有正确使用它,应该将你的逻辑转移到控制器中。