【发布时间】:2016-10-13 10:35:44
【问题描述】:
我正在使用一个应用控制器来调用一个模型窗口,并且我想将数据从$mdDialog 模型窗口传递到应用控制器。我该怎么做?
//parent Controller
class appCtrl implements IappSettings {
public displayItems = [some array items];
public sortingItems = [some array items];
public backItems: string;
}
dopopup(event) {
this.$mdDialog.show({
controller: appCtrl,
controllerAs: '$ctrl',
template: '<displayArrayCtrl on-save="$ctrl.onSave(displayColumns)"></displayArrayCtrl>'
});
}
onSave(displayColumns) { //on button click on child controller
this.backItems = displayColumns; //Using {{$ctrl.keyItems}} in app.html page but it's giving me empty string
}
//Child Controller
class displayArrayCtrl {
saveData = function (selectedFields: any, sortSelectedFields: any) { //on button click on parent controller
this.onSave({displayColumns: this.displayColumns}); //calling parent controller event
}
}
class displayArrayOptionsOptions implements ng.IComponentOptions {
public controller: any;
public templateUrl: string;
public bindings: any;
constructor() {
this.controller = displayArrayCtrl;
this.templateUrl = 'page.html';
this.bindings = {
onSave: '&',
displayItems: '<',
sortingItems: '<'
};
}
angular.module('app')
.component('displayArrayCtrl', new displayArrayOptionsOptions());
它将我的保存事件从子控制器调用到父控制器,但分配变量无法正常工作。
【问题讨论】:
标签: angularjs typescript angularjs-material