私はダイアログサービスを構築しています。
myDialogService.show({
templateUrl: `<div ng-click="$ctrl.log()">Hello dialog</div>`,
controller: function() {
this.log = function() {
console.log("logged from myDialogController");
}
}
});
素晴らしい作品:ダイアログは、このような$ mdDialog、と非常によく似コントローラを持つことができます。アンギュラモックで
locals.$scope = scope;
const invokeController = $controller(options.controller, locals, true);
const controller = invokeController();
if (options.controllerAs) {
scope[options.controllerAs] = controller;
} else {
const controllerAs = "$ctrl";
scope[controllerAs] = controller;
}
は、コンポーネントコントローラを呼び出すことができます$ componentControllerサービス、次のとおりです。私は道のコントローラを呼び出します。私のコードでは、私は登録されたコントローラ、またはコントローラの関数を呼び出すことしかできません。これは単なるコントローラではなく、登録されたコンポーネントしかないのであまり役に立ちません。
私の質問
ことが可能です/生産に$ componentControllerを使用することをお勧めしますか?または、私が見越した変種にAngularJSビルドがありますか?
エクスポートされたコンポーネントコントローラを使用すると、可能な解決策のように聞こえます。 TSで自分のコードを書いたので、すでにエクスポートされています。私はこれを試してみる。ありがとう! – scipper
これは元の質問からは明らかではありませんでしたが、私はそう思います、それは答えです。角度モジュールおよびDIは、ESモジュールによって提供される機能を部分的に代替します。コントローラの再利用と継承は、利用可能な場合にESモジュールに委譲する必要があります。 – estus