无法在 link 函数内调用 ng-click on 函数
Unable to call ng-click on function inside the link function
我有一个指令..我想在我定义指令模板的地方使用指令的 link 函数中定义的函数
app.js
angular.module('app',[])
.controller('appCtrl', function($scope){
$scope.name = "Vikram Prasad";
})
.directive('directive', function(){
return{
restrict:'A',
templateUrl:'button.html',
link:function(elems, attrs, scope){
scope.index=0;
scope.colors = ['red','blue','green','orange','brown'];
scope.color = scope.colors[scope.index];
scope.changeColor = function(){
console.log('clicked');
if(scope.index>scope.colors.length){
scope.index = 0;
}
scope.color = scope.colors[scope.index];
scope.index++;
};
}
}
});
指令模板
<div class="button" ng-class="color" ng-click="changeColor()">Click Me</div>
模板上的 ng-click 没有响应点击。
我在这里做错了什么?
你在link
函数参数中弄错了,scope
在前。
link:function(elems, attrs, scope){
应该是
link:function(scope, elems, attrs){
我有一个指令..我想在我定义指令模板的地方使用指令的 link 函数中定义的函数
app.js
angular.module('app',[])
.controller('appCtrl', function($scope){
$scope.name = "Vikram Prasad";
})
.directive('directive', function(){
return{
restrict:'A',
templateUrl:'button.html',
link:function(elems, attrs, scope){
scope.index=0;
scope.colors = ['red','blue','green','orange','brown'];
scope.color = scope.colors[scope.index];
scope.changeColor = function(){
console.log('clicked');
if(scope.index>scope.colors.length){
scope.index = 0;
}
scope.color = scope.colors[scope.index];
scope.index++;
};
}
}
});
指令模板
<div class="button" ng-class="color" ng-click="changeColor()">Click Me</div>
模板上的 ng-click 没有响应点击。 我在这里做错了什么?
你在link
函数参数中弄错了,scope
在前。
link:function(elems, attrs, scope){
应该是
link:function(scope, elems, attrs){