2014-01-09 81 views
2

假設我有以下代碼,其中我用一些值初始化文本框值。Angular js ng-init - 值字段不更新

<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

我相信你可以寫ng-init =「text1 ='一些值'」 –

回答

1

從角文檔(http://docs.angularjs.org/api/ng.directive:ngInit):

唯一適當使用ngInit的是混疊的特殊性能ngRepeat 的,如在下面的演示看到。除了這種情況,您應該使用控制器而不是ngInit來初始化作用域上的值。

因此,顯然你沒有適當地使用它,應該將你的邏輯移入控制器。

+0

我們現在不能改變結構。你能否提供替代方案? – PaRsH

+0

你不能改變什麼結構? –

+0

我現在無法更改代碼。我在很多地方使用過這個ng-init。 – PaRsH