ng-init,动态数据不起作用

时间:2015-04-08 14:20:44

标签: angularjs angularjs-ng-init

具有动态值的

ng-init无效。任何人都可以帮助我,我在这里失踪了......!感谢

 <input type="text" class="form-input form-control" id="defaultInputText" ng-model="details.emailAddr"
                                                     ng-init="details.emailAddr = accSummary.response.custName"  placeholder="yourname@email.com">

2 个答案:

答案 0 :(得分:2)

  

@ valverde93你的意思是ng-init不适用于动态数据吗? - chandru 2分钟前

不,就像Cirdec说的那样,你必须在请求完成后在你的控制器中设置它。现在,当ng-init运行时,accSummary.response.custName不存在。一旦AJAX响应恢复,它就不会尝试重新运行-init,因为Angular不知道它是一个AJAX响应或任何东西。

你的控制器最终应该是这样的:

$http.get('/my-url', function(accSummary){
  details.emailAddr = accSummary.response.custName
});

我不完全确定accSummary是什么或服务器响应的是什么。

答案 1 :(得分:0)

如果您需要初始化范围,例如设置details.emailAddr,请创建一个执行此操作的控制器。

来自angular docs

  

唯一合适的ngInit用于别名特殊属性   ngRepeat的{​​{1}},如下面的演示所示。除了这种情况,你应该   使用controllers而不是ngInit来初始化范围上的值。