$mdDialog和控制器
$mdDialog and controllers
我有两个$mdDialog
,我想在两个不同的视图中使用,每个视图的控制器完全相同。我想要的是在每个控制器中都有$mdDialog.show()
函数,传递一个对象和一个控制器文件来完成工作。
但当我尝试这样做时,我得到一个错误,说DialogCtrl没有定义。
例如,在视图控制器中:
angular.module('myApp')
.controller('myViewController', [
'$scope',
'$mdDialog',
myViewController
]);
function myViewController($scope, $mdDialog, myObj) {
var obj = myObj;
vm.showDialog = function(event) {
$mdDialog.show({
controller: DialogCtrl,
templateUrl: 'partials/dialog.html',
clickOutsideToClose: false,
parent: angular.element(document.body),
targetEvent: event,
openFrom: {left: 1500},
closeTo: {left: 1500},
locals: { object: obj }
})
.then(function(response) {
//do stuff
});
};
然后我的对话框控制器:
angular.module('myApp')
.controller('DialogCtrl', [
'$scope',
'$mdDialog',
'object',
DialogCtrl
]);
function DialogCtrl( $scope, $mdDialog, object ) {
$scope.obj = object;
$scope.answer = function(answer) {
$mdDialog.hide({
answer: answer,
dataToPass: $scope.obj.name
});
};
}
尝试将控制器名称置于引号下:
$mdDialog.show({
controller: 'DialogCtrl',
templateUrl: 'partials/dialog.html',
clickOutsideToClose: false,
parent: angular.element(document.body),
targetEvent: event,
openFrom: {left: 1500},
closeTo: {left: 1500},
locals: { object: obj }
})
这将删除错误。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在控制器和数据对象之间同步数据
- 将Javascript数组发送到控制器ASP.NET MVC
- 角度控制器结构
- 如何在Jquery中发布后将值从视图返回到控制器
- 将值从html传递到AngularJS控制器
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 从控制器继承了隔离的作用域以生成可重用的指令
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- Nodejs API控制器,用于在API之间切换
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 将不在模型中的数据返回到mvc控制器
- $mdDialog和控制器
- Angular - modal MdDialog本地控制器vs.应用级显示阴影
- 当mdDialog调用父控制器函数时UI不更新