2013-07-11 44 views
1

在AngularJS中,ng-init在执行模板之前无法初始化数据。 例如, 的index.htmlng-init无法初始化数据

<div class="control-group"> 
    <label class="control-label label-bold">Shipping First Name :</label> 
    <div class="controls"> 
     <input class="control-width" validation-errors="contactData" 
     maxlength="50" type="text" id="shipping_first_name" 
     placeholder="First Name" 
     ng-model="contactData.data.ShopCustomer.shipping_first_name" 
     ng-init="contactData.data.ShopCustomer.shipping_first_name='abc'"> 
    </div> 
</div> 

我要如何在AngularJS初始值?

这里是小提琴:尝试设置的contactData.data.ShopCustomer.shipping_first_name前值 http://jsfiddle.net/aasquare3/2XDvt/

+0

你可以分享小提琴或plunker演示 –

+0

@Ajaybeniwal:这是一个简单的例子没有得到初始化值。这段代码有什么问题? – archu

+0

ng-init可能工作正常,但是在ng-init之后可能会覆盖模型属性。一旦页面加载看到你的范围模型的状态并验证。 – Chandermani

回答

1

Working fiddle - abc显示在文本框/输入中。

你的小提琴不包括Angular,所以我加了v1.0.3,并且指定了“没有换行 - 在< body>”。

body标签没有ng-app,所以我在“小提琴选项”下指定<body ng-app>

+0

Mark Rajcok:非常感谢,现在正在工作。 – archu

0

确定contactDatacontactData.datacontactData.data.ShopCustomer已初始化(空物体至少是)?

+0

你不需要。 AngularJS会为你创建。 – Chandermani

+0

Yes.contactData,contactData.data和contactData.data.ShopCustomer已初始化为空。 – archu