【发布时间】:2016-04-07 01:41:49
【问题描述】:
如何在控制器和 $mdDialog (Angular Material) 之间共享范围? 我正在使用“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
})
}
};
【问题讨论】:
标签: angularjs angular-material