我无法弄清楚为什么我试图通过 ng-repeat 块从控制器获取的变量值不正确。
情况:我正在尝试使用一些Integer值调用函数 getCurrentArray()。我将它传递给singlePost.ID变量(由ng-repeat创建),它在调用之前以及刚刚调用之后具有正确的值。无论如何,变量respondArray(简单地由调用函数设置)是不同的。简化说明以澄清问题。
问题:如何从控制器中检索正确的值?
完整代码: https://plnkr.co/edit/ViK0GmeHFxTeIA8BYWTC?p=preview
代码:
CONTROLLER -
self.respondArray = null;
self.getCurrentArray = function (postID)
{
self.respondArray = postID;
console.log(postID); // proper value
console.log(self.respondArray); // proper value
}
HTML -
<div ng-repeat="singlePost in postCtrl.postsArray">
...
VALUE BEFORE INVOKE : {{singlePost.ID}} // proper value
<div ng-init="postCtrl.getCurrentArray(singlePost.ID)"></div>
VALUE READ FROM CONTROLLER : {{postCtrl.respondArray}} // bad value!
VALUE AFTER INVOKE : {{singlePost.ID}} // proper value
<div ng-repeat="singleResp in postCtrl.respondArray">
... // bad value too!
</div>
</div>
可能我已经做了一些明显的错误,但已经用完了,所以我希望,有人能够提供帮助。