2015-11-06 55 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