1
親コントローラで定義されたメソッドを呼び出すディレクティブを作成しようとしています。ControllerAs親との1.xディレクティブ共有スコープ
私は、親コントローラのための 'VM' としてのコントローラを使用しています。このメソッドはディレクティブでは呼び出されません。どのように私は指示から親のコントローラのメソッドを呼び出すことができますか?
(function() {
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', MyCtrl);
MyCtrl.$inject = [];
function MyCtrl() {
this.title = 'Test';
this.sayHello =() => {
this.output = 'Hello';
}
}
myApp.directive('sayHello', function() {
return {
restrict: 'E',
replace: true,
template: '<a href="#" ng-click="vm.sayHello();">Click to say hello</a>'
}
})
})();
私はあなたのplunkrをテストし、これは親関数を呼び出しません。 – Aliz
あなたはHelloの出力を得ると言っていますか?私はそうではないので – AlxVallejo
もちろん出力がないので、 "output"の値を "Hello"に変更し、 "console.log"または "alert()"を使用すると、あなたの関数が呼ばれていることがわかります参照:https://plnkr.co/edit/3S5bglFxi0ifsx6uyMJT?p=preview – Aliz