不能在角材质模态对话框中设置控制器属性
Can't set property of controller in angular material modal dialog
我使用Angular 1.5和ES6和webpack,我的代码如下:
export default class HomeController {
static $inject = ['$mdDialog', '$sce'];
constructor($mdDialog, $sce) {
this.$mdDialog = $mdDialog;
this.tasks = [
{
label: "<strong>Something strong</strong>",
id: 10
}
];
this.tasks = this.tasks.map(function(item) {
item.label = $sce.trustAsHtml(item.label);
return item;
});
}
showRejectionDialog(ev, $index) {
this.task = this.tasks[$index];
this.index = $index;
console.log(this.task);
console.log(this.index);
this.$mdDialog.show({
controller: HomeController,
preserveScope: true,
controllerAs: 'vm',
template: require('./rejectionDialogModal.jade'),
parent: angular.element(document.body),
targetEvent: ev,
});
}
allow($index) {
this.tasks[$index].status = 'CONFIRMED';
}
reject(index) {
this.$mdDialog.hide();
console.log(index);
console.log(this.task);
console.log(this.index);
//this.tasks[this.index].status = 'REJECTED';
}
cancel() {
this.$mdDialog.cancel();
}
}
和rejectionDialogModal。翡翠是这样的:
md-dialog(aria-label='Reject', ng-cloak='')
form(name="rejectionForm")
md-dialog-content
.md-dialog-content
h2.md-title Reject confirmation for
div {{vm.task|json}}
span(ng-bind-html="vm.task.label")
textarea(placeholder="Please provide a reason for rejection", style="width: 530px; height: 75px")
md-dialog-actions(layout="row")
span(flex)
md-button(ng-click="vm.cancel()") CANCEL
md-button.md-primary.md-raised(ng-click="vm.reject(vm.index)") REJECT
showRejectionDialog中的console.log显示正确的值,但是reject显示未定义,也是vm。对话框内任务未定义,标签不显示。当我使用相同的控制器时,我如何将属性传递给模态对话框?
尝试创建一个可以访问$scope
的控制器函数showRejectionDialog(ev, $index) {
this.task = this.tasks[$index];
this.index = $index;
console.log(this.task);
console.log(this.index);
this.$mdDialog.show({
controller: function () {
this.parent = $scope;
},
preserveScope: true,
controllerAs: 'vm',
template: require('./rejectionDialogModal.jade'),
parent: angular.element(document.body),
targetEvent: ev,
});
}
相关文章:
- 如何从jQuery设置控制器或全局变量的属性
- 为什么我们将控制器变量设置为等于“0”;这个“;在角度上
- 将外部控制器的范围变量设置为角度
- 设置AngularJS控制器属性不能是使用Coffeescript的最后一行
- 如何在多个控制器之间封装设置$scope值
- 在 AJAX 调用的 zend 控制器操作中正确设置会话
- 设置控制器动态角度
- AngularJS-有条件地为路由设置控制器
- 如何从路由文件中的子文件夹设置控制器文件
- 如何根据信号器请求的结果设置控制器范围
- AngularJS-设置控制器'访问DOM的自定义指令中的$scope变量
- Ember.js设置控制器属性表单组件
- 如何从控制器打开和设置控制器Mobile-Angular模态
- 使用ember试图从路由模型钩子中设置控制器中的值会产生错误
- 最好的做法是从出厂功能设置控制器范围变量
- 应用程序路由中的多个模型,如何设置控制器Ember.JS
- Jasmine:在初始化时设置控制器属性,角度为1.5
- 不能在角材质模态对话框中设置控制器属性
- 如何获取/设置控制器/模块之外的变量
- 从组件内部设置控制器属性