ng1 では、自分のページに直接ディレクティブを持たなくても、別の場所で定義されたモーダルを呼び出すことができました。
私は独自のモーダル サービスを作成しました。ここで多くのモーダルを定義し、サービスを注入したすべてのビューからモーダルを開くことができました。
モーダルを開くための私のサービス関数の例
public editTodoItem(id: Number): ng.IPromise<My.ITodoCreateViewModel> {
var options: ng.ui.bootstrap.IModalSettings = {
templateUrl: 'Todo/TodoEditModal',
bindToController : true,
controller: "todoEditModalCtrl",
controllerAs : 'ctrl',
size: 'lg',
backdrop: "static",
resolve: {
todoId: () => id
}
};
return this.$uibModal.open(options).result
.then((updatedItem: My.ITodoCreateViewModel) => {
return updatedItem;
});
}
https://angular-ui.github.io/bootstrap/#/modal
モーダルを閉じると、呼び出し元の関数にデータを送信できる約束が返されます。
これは Kendo Ui のモーダルでも可能ですか?
Ng2 の ui Bootstrap からの新しい実装には、この機能が既に実装されているようです