子ディレクティブのlink
関数で親のdirective
コントローラをどのように取得できるか分かっています。
しかし、私はlink
関数(と一緒に$scope
)を使用することを避け、すべてのコードを指示のcontroller
の下に置いてください。子ディレクティブのコントローラ(リンク関数ではない)の角度取得親ディレクティブのコントローラ
angular.directive('parent', function(){
return {
templateUrl: '/parent.html',
scope: true,
bindToController: true,
controllerAs: 'parentCtrl',
controller: function(){
this.coolFunction = function(){
console.log('cool');
}
}
}
});
angular.directive('child', function(){
return {
templateUrl: '/child.html',
require: '^parent',
scope: true,
bindToController: true,
controllerAs: 'childCtrl',
controller: function() {
// I want to run coolFunction here.
// How do I do it?
}
}
});
ご協力いただきましてありがとうございます。
Uは、リンクを使用しないようにしたいですか?どうして? –
私はAngular2に親しみやすい方法でコードを書いています。 – Dmitry
@Dmitryコントローラーとjqliteに固執すると(正しい答えが示唆されているように)、あなたのコードはAngular 2に敵対的になります(これは友好的です)。 – estus