我正在使用ngAside
来显示一些数据。数据取决于用户选择的变量,因此我需要将Id传递给ngAside
的控制器。
现在我的控制器看起来像这样:
$aside.open({
templateUrl: 'details.html',
placement: position,
size: 'lg',
backdrop: true,
locals: {
mode: "create"
},
controller: function Ctrl($scope, $uibModalInstance, mode) {
$scope.test = mode;
$scope.ok = function (e) {
$uibModalInstance.close();
e.stopPropagation();
};
$scope.cancel = function (e) {
$uibModalInstance.dismiss();
e.stopPropagation();
};
}
})
我的观点基于我在ngMaterial
here上所看到的内容。
虽然没有按预期工作,但我得到了
Unknown provider: modeProvider <- mode
如何解决此问题并能够传递要在ngAside
模板上显示的变量?
答案 0 :(得分:0)
由于你想在控制器中注入“mode”变量,我的猜测是使用标准的“ resolve ”参数。
$aside.open({
templateUrl: 'details.html',
placement: position,
size: 'lg',
backdrop: true,
resolve: {
mode: function() {
return "create";
}
},
controller: function Ctrl($scope, $uibModalInstance, mode) {
[...]
}
});
基本上,对于未在依赖注入列表中注册的每个控制器参数,您需要提供一个函数,该函数将返回您想要在变量中注入的值。
此功能:
mode: function() {
return "create";
}
将执行并且其返回值将填充“mode”控制器参数。