2015-09-03 22 views
0

我正在使用https://github.com/johnpapa/angular-styleguide約定。如何在html中使用綁定函數來「this」?風格指南angularjs

內部分函數聲明隱藏實現細節

如何使用功能端的HTML,當我把它綁定到this,如:

function AvengersCtrl() { 
    var vm = this; 
    vm.activate = activate; 


    function activate() { 
     alert("activate"); 
    } 
} 

,並在HTML中使用它:

<body ng-controller="AvengersCtrl">... 
    <button ng-click="activate()"></button> 
</body> 

當我用scope而不是this它的工作原理

$scope.activate = activate; 

回答

1
<body ng-controller="AvengersCtrl as aveng">... 
<button ng-click="aveng.activate()"></button> 
</body> 

,如果你不爲控制器指定別名(正如我與「AVENG」完成)並且你不用alias.function()語法調用你的函數,angular會在你的全局函數內尋找一個'activate()'函數,而不是在你的AvengersCtrl對象內部。

+0

謝謝它解決了我的問題 –

2

你需要用什麼作爲controller as語法:

<body ng-controller="AvengersCtrl as ctrl">... 
    <button ng-click="ctrl.activate()"></button> 
</body> 
+0

T它解決了我的問題 –