私は、1.6の角度でes6を使ってbrowserifyを使ってテストしています。そして、私は、es6クラスを使ってコントローラを作成すると、 ng-clickを使ってDOM上のメソッドng-clickを介してes6でng-clickを呼び出す
コントローラ:
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>
は、私が試した取り外しのが、効果はありません。 $scope
引数にtestMethod
というメソッドを追加すると、$scope.testMethod = testMethod;
のように動作しますが、そのようにすると非常に汚いと感じます。
$scope
に代入することなくes6構文を使用している間にコントローラメソッドを呼び出すことができるものがありませんか?
1.5を使用する場合は、コンポーネント定義内のビューのコントローラを宣言できるコンポーネントを使用することをお勧めします。また、$ ctrlを使用してそのメソッドを呼び出すこともできます。 – Baruch