ng-click指令不在按钮上

时间:2015-11-06 11:06:37

标签: angularjs

HTML

  <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未出现在控制台中。

2 个答案:

答案 0 :(得分:3)

视图中引用控制器中的内容时,您必须使用 $scope 。您的函数定义应为:

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

答案 1 :(得分:1)

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

$scope.tasks.passivate = function(){

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

很高兴看到你正在使用tasks.passivate,因为它将保存你的原型继承。要了解更多信息: - Click here