2016-07-15 93 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中,但没有得到任何值。 –