我正在測試使用角度爲1.6的es6使用browserify和babelify在吞嚥,我注意到當我使用es6類創建控制器時,我無法再調用控制器使用ng-click的方法。通過ng-click調用角度控制器方法es6
控制器:
export default class FocusbtnsController {
constructor($scope) {}
testMethod() {
alert('test method works!!');
}
}
主要模塊:
import angular from 'angular';
import FocusbtnsController from './focusbtns.controller';
export default angular.module('shapesite', [])
.controller('FocusbtnsController', FocusbtnsController);
HTML:
<div class="center-btns ng-scope" ng-controller="FocusbtnsController">
<div class="focus-btn-container" style="left:50%;top:5%" ng-click="testMethod()">
<div class="diamond">
<div class="diamond-btn"></div>
</div>
</div>
</div>
我試圖消除來自angular.module
的,但沒有效果。 當我將方法testMethod
添加到$scope
參數$scope.testMethod = testMethod;
它可以工作,但這樣做感覺非常骯髒。
我錯過了什麼,可以讓我在使用es6語法時調用控制器方法,而無需將其指定給$scope
?
如果您打算使用1.5+,我建議您使用組件,它允許您在組件定義中爲視圖聲明控制器,並且可以使用'$ ctrl'調用它的方法。 – Baruch