我是新來AngularJS。AngularJS - 範圍的指令
有人能解釋我爲什麼活動類不在此代碼標籤之間切換:http://jsfiddle.net/eSe2y/1/?
angular.module('myApp', [])
.filter('split', function() {
return function (input, string) {
var temp = string.split('|');
for (var i in temp)
input.push(temp[i]);
return input;
};
})
.directive('myTabs', function() {
return {
restrict: 'E',
scope: { tabs: '@' },
template:
"<div>" +
"<a ng-repeat='e in [] | split:tabs' ng-click='selectedIndex = $index' ng-class='{active:$index==selectedIndex}'>{{e}}</a>" +
"</div>",
replace: true
}
});
如果我移動NG-點擊表達給控制器的方法,代碼按預期工作:http://jsfiddle.net/g36DY/1/。
angular.module('myApp', [])
.filter('split', function() {
return function (input, string) {
var temp = string.split('|');
for (var i in temp)
input.push(temp[i]);
return input;
};
})
.directive('myTabs', function() {
return {
restrict: 'E',
scope: { tabs: '@' },
template:
"<div>" +
"<a ng-repeat='e in [] | split:tabs' ng-click='onSelect($index)' ng-class='{active:$index==selectedIndex}'>{{e}}</a>" +
"</div>",
replace: true,
controller: ['$scope', function ($scope) {
$scope.onSelect = function (index) {
$scope.selectedIndex = index;
}
}]
}
});
有人可以解釋我的區別嗎?以及如何修改第一個代碼以使其工作,而無需爲控制器創建方法?
在此先感謝。
這是一個非常常見的問題的角度。我們今天剛剛在工作中遇到了它(再次)。希望我的解釋在下面幫助。 –