Javascript 将值从md对话框传递到组件
我正在使用angular 1.X框架,在使用组件时遇到了一个问题 我想在对话框或面板中使用组件。但我的问题是,我无法从对话控制器中获得组件中需要的值。我试图绕过对话控制器,但也没有成功 这是我在控制器中的一个函数:Javascript 将值从md对话框传递到组件,javascript,angularjs,components,material-design,mddialog,Javascript,Angularjs,Components,Material Design,Mddialog,我正在使用angular 1.X框架,在使用组件时遇到了一个问题 我想在对话框或面板中使用组件。但我的问题是,我无法从对话控制器中获得组件中需要的值。我试图绕过对话控制器,但也没有成功 这是我在控制器中的一个函数: ctrl.addAdjustments = function (event) { $mdDialog.show({ template: '<add-adjustments-dialog close="$ctrl.close"><
ctrl.addAdjustments = function (event) {
$mdDialog.show({
template: '<add-adjustments-dialog close="$ctrl.close"></add-adjustments-dialog>',
controller: function ($mdDialog) {
var ctrl = this;
ctrl.close = function (adjustment) {
$mdDialog.hide(adjustment);
}
},
parent: angular.element(document.body),
targetEvent: event,
clickOutsideToClose: true
})
.then(function (adjustment) {
console.log('adjustment', adjustment);
});
};
angular.module('app')
.component('addAdjustmentsDialog', {
templateUrl: 'app/components/addAdjustmentsDialog/addAdjustmentsDialog.html',
controller: addAdjustmentsDialogCntrlr,
bindings: {
close: '<'
}
});
/** @ngInject */
function addAdjustmentsDialogCntrlr() {
var ctrl = this;
ctrl.adjustment = {
weight: 0,
amount: 0,
type: '',
regions: []
};
console.log('close fnction', ctrl.b);
ctrl.addAdjustment = function(){
ctrl.close();
}
}
ctrl.addAdjustments=函数(事件){
$mdDialog.show({
模板:“”,
控制器:函数($mdDialog){
var ctrl=this;
ctrl.close=功能(调整){
$mdDialog.hide(调整);
}
},
父元素:angular.element(document.body),
目标事件:事件,
单击外部以关闭:true
})
.然后(功能(调整){
控制台日志(“调整”,调整);
});
};
如您所见,我正在使用模板参数中的components html标记,这是有效的。我在dialogs控制器中创建了一个函数表达式,然后尝试将变量绑定到组件
这是我的组件控制器:
ctrl.addAdjustments = function (event) {
$mdDialog.show({
template: '<add-adjustments-dialog close="$ctrl.close"></add-adjustments-dialog>',
controller: function ($mdDialog) {
var ctrl = this;
ctrl.close = function (adjustment) {
$mdDialog.hide(adjustment);
}
},
parent: angular.element(document.body),
targetEvent: event,
clickOutsideToClose: true
})
.then(function (adjustment) {
console.log('adjustment', adjustment);
});
};
angular.module('app')
.component('addAdjustmentsDialog', {
templateUrl: 'app/components/addAdjustmentsDialog/addAdjustmentsDialog.html',
controller: addAdjustmentsDialogCntrlr,
bindings: {
close: '<'
}
});
/** @ngInject */
function addAdjustmentsDialogCntrlr() {
var ctrl = this;
ctrl.adjustment = {
weight: 0,
amount: 0,
type: '',
regions: []
};
console.log('close fnction', ctrl.b);
ctrl.addAdjustment = function(){
ctrl.close();
}
}
angular.module('app')
.component('addAdjustmentsDialog'{
templateUrl:'app/components/addAdjustmentsDialog/addAdjustmentsDialog.html',
控制器:addAdjustmentsDialogCntrlr,
绑定:{
结束:'