Md 对话框未加载与其关联的控制器
Md-dialog not loading the controller associated with it
我正在尝试在单击按钮时在角度js1.5中加载md-dialog,我看到的只是模态弹出窗口中的html标记,而不是该组件的控制器加载。以下是我用于显示 md 对话框的标记调用对话框的文件
$mdDialog.show ({
template: require('../traderdialog/traderdialog.html'),
controller: Controller,
controllerAs: 'vm',
locals : {
traderId : traderId
},
clickOutsideToClose : true
});
}
所以当我做控制器:控制器时,它会转到不同的组件,就像我在目录结构中一样。我的交易者对话框代码.js如下
angular.module('dashboard')
.component('traderdialog', {
template: require('./traderdialog.html'),
controller: Controller,
controllerAs: 'vm',
bindings: {
}
});
function Controller( $mdDialog) { *some code* }
$mdDialog.show ({
template: require('../traderdialog/traderdialog.html'),
controller: function ControllerName($scope){
$scope.data = "Controller Loaded";
},
locals : {
traderId : traderId
},
clickOutsideToClose : true
});
}
或
$mdDialog.show ({
template: require('../traderdialog/traderdialog.html'),
controller: controllerName,
locals : {
traderId : traderId
},
clickOutsideToClose : true
});
}
function controllerName($scope){
$scope.data = "Controller Loaded";
}
在 mdDialog 中使用控制器有两种方法,其中一种方法是与保留范围内的父级使用相同的作用域:
$mdDialog.show({
controller: function () {
return self;
},
templateUrl: 'templates/mdDialog.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose: false,
bindToController: true,
scope: $scope,
hasBackdrop: true,
preserveScope: true
});
另一个是与 controllerAs 属性一起使用,并初始化它:
$mdDialog.show({
controller: DialogController,
templateUrl: 'templates/mdDialog.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose: true,
controllerAs: 'DlgCtrl',
bindToController: true,
locals: {
formData: $scope.formData,
}
})
你可以用DlgCtrl.formData语法联系你的当地人。
您应该将所需的数据从父控制器注入到模态的作用域。当模态打开时,它有自己的范围。
$mdDialog.show ({
template: require('../traderdialog/traderdialog.html'),
controller: 'MyCtrl',
locals : {
traderId : traderId
},
clickOutsideToClose : true
});
}
现在,让我们为您定义模态traderdialog.html
控制器。
angular.module('app').controller('MyCtrl',['traderId', function(traderId){
console.log(traderId);
}]);
现在traderId
将反映在您的模态上。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在控制器和数据对象之间同步数据
- 将Javascript数组发送到控制器ASP.NET MVC
- 角度控制器结构
- 如何在Jquery中发布后将值从视图返回到控制器
- 将值从html传递到AngularJS控制器
- Md 对话框未加载与其关联的控制器
- AngularJS:如何在指令范围的对象发生变化时更新与控制器作用域相关联的控制器作用域
- 公共控制器和服务器控制器在 MEAN.io 中如何相互关联
- 显示与单独控制器关联的模型
- 如何从link函数访问与指令关联的控制器实例?
- 访问与指令实例关联的控制器
- 余烬对来自余烬-数据模型关联的另一个控制器的数据进行排序
- Jquery$.ajax()调用将具有其他参数的关联数组传递给MVC控制器失败
- AngularJS - 从其关联的控制器按 Id 访问视图元素
- Rails 3 coffeescript 控制器关联