이 코드 스 니펫이 있습니다.
<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);
};
이유를 이해하지 못합니다.
alert($scope.message.text);
작동하지 않습니다. ng-repeat가 새로운 스코프를 만들고 있다고 생각했습니다.
ng-repeat
새로운 범위 를 만드는 것은 사실입니다 . 그러나 컨트롤러 내에서 $ scope를 수행하여 해당 범위에 액세스 할 수 없습니다. 대신 아래와 같이 할 수 있습니다.
<button ng-click="send(message)">Send</button>
그리고 JS에서 :
$scope.send = function(message){
alert(message.text);
};
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다