以下是我的代码段
$scope.openrights = function (userid) {
$scope.valid = userid;
ngDialog.open({
template: 'views/rightsassignment.html',
controller: 'RightsCtrl',
className: 'ngdialog-theme-default ngdialog-theme-custom',
scope: $scope
});
};
我遇到的问题是---我无法将'有效'范围值传递给控制器RightsCtrl。
范围:$ scope仅将值传递给作为内插值{{valid}}提及的html模板。
如何将值'valid'作为参数传递给RightsCtrl作为$ state.params.valid?
任何帮助将不胜感激
我在app.js中有一个状态为
.state('companyadmin.rightsassignment', {
url: '/rightsassignment/:valid',
templateUrl: 'views/rightsassignment.html',
controller: 'RightsCtrl',
title: 'Welcome Company Admin'
})
答案 0 :(得分:0)
将参数作为查询参数传递给该状态或在rootScope中维护变量。
$rootScope.isValid = false;
相应地在ngDialog
控制器中更改此值isValid。
由于$rootScope
在所有控制器中都可用,您应该可以使用它。
编辑:我看到你有一个路径参数:在你的州有效。当您从模态转换为状态时,您应该将valid
有效传递给该状态。
$state.go("companyadmin.rightsassignment", { "valid": true }
答案 1 :(得分:0)
选中此项 - 您需要传递具有数据属性的变量
$scope.valid = userid;
ngDialog.open({ template: 'templateId',
className: 'ngdialog-theme-default ngdialog-theme-custom',
data: $scope.valid,
controller: ['$scope', function($scope) {
// controller logic
alert($scope.valid);
}]
});