将值作为参数从 ngDialog 传递到另一个控制器
Pass Value as parameter from ngDialog to another controller
下面是我的代码片段
$scope.openrights = function (userid) {
$scope.valid = userid;
ngDialog.open({
template: 'views/rightsassignment.html',
controller: 'RightsCtrl',
className: 'ngdialog-theme-default ngdialog-theme-custom',
scope: $scope
});
};
我遇到的问题是 --- 我无法将 'valid' 作用域值传递给控制器 RightsCtrl。
scope:$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'
})
将参数作为查询参数传递给该状态或在 rootScope 中维护一个变量。
$rootScope.isValid = false;
相应地在您的 ngDialog
控制器中更改此值 isValid。
由于$rootScope
在所有控制器中都可用,您应该可以使用它。
编辑: 我看到您的路径参数 :valid 在您所在的州。当您从模态转换到状态时,您应该将 valid
valid 传递给该状态。
$state.go("companyadmin.rightsassignment", { "valid": true }
检查这个 - 您需要传递带有数据的变量 属性
$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);
}]
});
下面是我的代码片段
$scope.openrights = function (userid) {
$scope.valid = userid;
ngDialog.open({
template: 'views/rightsassignment.html',
controller: 'RightsCtrl',
className: 'ngdialog-theme-default ngdialog-theme-custom',
scope: $scope
});
};
我遇到的问题是 --- 我无法将 'valid' 作用域值传递给控制器 RightsCtrl。
scope:$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'
})
将参数作为查询参数传递给该状态或在 rootScope 中维护一个变量。
$rootScope.isValid = false;
相应地在您的 ngDialog
控制器中更改此值 isValid。
由于$rootScope
在所有控制器中都可用,您应该可以使用它。
编辑: 我看到您的路径参数 :valid 在您所在的州。当您从模态转换到状态时,您应该将 valid
valid 传递给该状态。
$state.go("companyadmin.rightsassignment", { "valid": true }
检查这个 - 您需要传递带有数据的变量 属性
$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);
}]
});