ngRepeat を使用しているときに、配列から 4 つの項目をロードした順序付けられていないリストがあります。リスト項目のアンカー タグには、メッセージを起動する ngClick 属性の機能があります。関数呼び出しは、次のように使用するとうまく機能します。
<ul>
<li ng-repeat="n in supsNames">
<a ng-click="myAlert(n.name)">{{n.name}}</a>
</li>
</ul>
リスト項目を含む順序付けられていないリストを挿入するための簡単なディレクティブを作成しました。リストは問題なくロードされますが、前述の同じ機能が起動しません。コードは次のとおりです。
<div list items="supsNames">
<a ng-click="myAlert({{item.name}})">{{item.name}}</a>
</div>
これが私のjavascriptとangularjsコードです:
var app = angular.module('myapp', []);
app.controller('myCtrl', function($scope) {
$scope.title = 'ngClick within ngTransclude';
$scope.supsNames = [
{"name" : "Superman"},
{"name" : "Batman"},
{"name" : "Aquaman"},
{"name" : "Flash"}
];
$scope.myAlert = function(name) {
alert('Hello ' + name + '!');
};
});
app.directive('list', function() {
return {
restrict: 'A',
scope: {
items: '='
},
templateUrl: 'list.html',
transclude: true,
link: function(scope, element, attrs, controller) {
console.log(scope);
}
};
});
私がやろうとしたことを見たい場合に備えて、plnkrもあります: http://plnkr.co/edit/ycaAUMggKZEsWaYjeSO9?p=preview
助けてくれてありがとう。