0

具有动态值的 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">
4

2 回答 2

2

@valverde93 你的意思是 ng-init 不适用于动态数据?– 钱德鲁 2 分钟前

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

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

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

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

于 2015-04-08T14:38:03.083 回答
0

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

角度文档

唯一合适的用途ngInit是为 的特殊属性设置别名ngRepeat,如下面的演示所示。除了这种情况,您应该使用控制器而不是ngInit在作用域上初始化值。

于 2015-04-08T14:29:40.150 回答