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
未出现在控制台中。
答案 0 :(得分:3)
在视图中引用控制器中的内容时,您必须使用 $scope
。您的函数定义应为:
$scope.tasks.passivate = function() {
//...
}
答案 1 :(得分:1)
你的按钮,我相信是现在绑定到控制器的视图的一部分。控制器创建一个范围对象,实际上粘合您的视图和控制器。因此,如果要从视图中调用函数,它应该具有范围引用。因此应该使用$ scope: -
$scope.tasks.passivate = function(){
//----your logic goes here.
}
很高兴看到你正在使用tasks.passivate,因为它将保存你的原型继承。要了解更多信息: - Click here