コントローラと$ mdDialog(角材)の間でスコープを共有するにはどうすればよいですか? 私は "Controller As"の構文を使用しています。コントローラを$ mdDialogに使用する必要があります。閉じると、データが必要になります。 このコードでは、$ mdDialogで "myFunction"を呼び出す必要があります。 私はオブジェクト(self.obj)を持っていて、 'myFunction'にそれを必要とすると、$ mdDialogが 'myFunction'を呼び出すときにオブジェクトがスコープに存在しないことが起こります。
angular.module('myApp')
.controller('myController', myController);
myController.$inject = ['$mdDialog'];
function myController($mdDialog) {
var self = this;
self.obj = {'firstName:'hello','lastName':'world'}
self.myFunction = function() {console.log(JSON.stringfy(self.obj))};
self.showDialog = function(){
$mdDialog.show({
controller: function ctrl() {},
controllerAs: 'ctrl',
templateUrl: 'views/modal_templates/dialog01.template.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose: true
})
}
};
おかげで目覚めバイト、私はより良い説明して私の質問を編集しました。私の問題は、 'myFunction'の中にオブジェクトが必要なことです。モーダルテンプレートのmd-buttonでこのオブジェクトを更新します。 –
が答えを更新しました。あなたは自分自身にコンテキストをロックするためにbind()メソッドを使う必要があります –
ありがとう、それは私の問題を解決しました。 –