Tôi có đoạn mã này:AngularJS - Phạm vi không phải là những gì mong đợi trong một sự kiện ng-click của ng-repeat
<ul>
<li ng-repeat="message in messages">
<button ng-click="send()">Send</button>
</li>
</ul>
$scope.send = function(){
// not working (message undefined)
alert($scope.message.text);
// working
alert($scope.messages[0].text);
};
Tôi không hiểu tại sao:
alert($scope.message.text);
không hoạt động. Tôi nghĩ rằng ng-lặp lại đã tạo ra một phạm vi mới.
Cảm ơn bạn đã trả lời nhanh chóng. Bạn có thể giải thích một chút về hành vi này không? Tại sao tôi nhận phạm vi này thay vì phạm vi khác? – poiuytrez
@poiuytrez Bạn không thể truy cập phạm vi 'ng-repeat' bên trong bộ điều khiển bằng cách thực hiện phạm vi $. Thay vào đó bạn có thể truyền đối tượng từ bên trong ng-repeat tới controller :) – AlwaysALearner