2016-07-15 77 views
1

設置我使用NG-模型輸入值與模型聯繫起來。Angualr JS:輸入的NG-模型默認值未在模型

如果我設置在輸入框中的默認值,它沒有在$範圍顯示,但如果我在此輸入任何改變,我可以看到的變化。

<input type='text' id="save_quote_email" name="save_quote_email" ng-model="AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress" value="[email protected]" /> 
{{AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress}} 

我可以在控制器中設置這個值,那麼它會工作,但這樣的值會在表格的時候我的HTML加載。

+0

'NG-init'應該工作 – jeremy

回答

0

添加

ng-init="AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress='[email protected]'" 
0
ng-init="AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress='[email protected]'" 
+1

是如何從上面的答案有何不同?你完全編輯了你的答案! – naveen

1

首先,你不應該在這種情況下使用ng-init

docs

這個指令可以被濫用,以邏輯的不必要的量添加到您的模板。 ngInit只有少數適​​當的用法,例如用於重寫ngRepeat的特殊屬性,如下面的演示所示;並通過服務器端腳本注入數據。 除了這幾種情況,您應該使用控制器而不是ngInit來初始化作用域上的值。

然後,只需做在你的控制器:使用

AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress = "[email protected]"; 
+0

我想使用的document.getElementById(「save_quote_email」)來獲取輸入值;在函數dtoresource.rc1Step1DTO中,但沒有得到任何值。 –