Angular js:输入的ng-model默认值未在模型中设置

时间:2016-07-15 04:54:57

标签: javascript jquery html angularjs

我使用ng-model将输入值与模型链接。

如果我在输入框中设置默认值,它不会显示在$ scope中,但如果我在此输入中更改了任何内容,我可以看到更改。

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

我可以在控制器中设置这个值,然后它会起作用,但是当我的html加载时,这些值会出现。

3 个答案:

答案 0 :(得分:1)

首先,在这种情况下,您不应该使用ng-init

来自docs

  

可以滥用此指令将不必要的逻辑量添加到模板中。 ngInit只有少数适​​当的用途,例如用于别名ngRepeat的特殊属性,如下面的演示所示;并通过服务器端脚本注入数据。 除了这几种情况,您应该使用控制器而不是ngInit来初始化范围上的值。

然后,只需在你的控制器中执行:

AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress = "praveend06@gmail.com";

答案 1 :(得分:0)

添加

 ng-init="AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress='praveend06@gmail.com'"

答案 2 :(得分:0)

ng-init="AutoQuote.postAutoQuoteObj.ApplicationInfo.GeneralPartyInfo.ContactInfo.Emails[0].EmailAddress='praveend06@gmail.com'"