のngのクリックイベント内で期待したものではありません。AngularJS - 適用範囲が、私はこのコードスニペット持っNGリピート
<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が新しいスコープを作っていると思った。
ご返信ありがとうございます。この現象を少し説明できますか?他のスコープの代わりにこのスコープを取得するのはなぜですか? – poiuytrez
@poiuytrez $ scopeを実行することで、コントローラの 'ng-repeat'のスコープにアクセスすることはできません。代わりに、ng-repeatの中のオブジェクトをコントローラに渡すことができます:) – AlwaysALearner