2015-11-06 57 views
0

HTMLNG-点击指令不工作的按钮

<button class="btn btn-primary" ng-click="tasks.passivate()"> 
      Passivate <i class="fa fa-spinner fa-spin" ng-if="tasks.passivating"></i> 
    </button> 

task.controller

function passivate() { 
     console.log('passivate'); 
     vm.passivating = true;   
    return taskService 
     .passivate(vm.task.id) 
     .then(function (task) { 
     vm.passivating = false; 
     }) 
     .catch(alertError); 
    } 

按钮不起作用,passivate不会出现在控制台中。

回答

3

视图引用从控制器的东西,你必须使用$scope。你的功能定义应该是:

$scope.tasks.passivate = function() { 
    //... 
} 
1

你的按钮,我相信是现在绑定到控制器的视图的一部分。控制器创建一个实际粘贴您的视图和控制器的范围对象。所以如果你想从视图中调用一个函数,它应该有范围引用。因此$范围应使用: -

$scope.tasks.passivate = function(){ 

    //----your logic goes here. 
} 

其良好地看到,您正在使用tasks.passivate因为这将节省您的原型继承。了解更多: - Click here