我正在试图弄清楚当弹出时如何将unit_number
传递给模态。我对Angular很新,我对resolve:
和group:
正在做的事情以及如何在返回语句中包含unit_number感到困惑。
$scope.openTenantModal = function (unit_number) {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: 'views/addtenantmodal.html',
controller: 'AddTenantModalCtrl',
size: 'large',
resolve: {
group: function () {
return $scope.group;
}
}
});
modalInstance.result.then(function () {
}, function () {
});
};
答案 0 :(得分:27)
您正在使用ui-bootstrap,
用纯AngularJS编写的Bootstrap组件
将变量传递给模态控制器,您需要使用
resolve: {
A: function() {
return 'myVal'
}
}
然后您就可以访问该变量' A'从模态的控制器中注入它
controller: ['A', function(A) {
// now we can add the value to the scope and use it as we please...
$scope.myVal = A;
}]
结帐:https://angular-ui.github.io/bootstrap/#/modal
解决:
将被解析并作为本地人传递给控制器的成员;它相当于路由器中的resolve属性。
和群组只是一个成员(它可以是你选择的任何东西)
答案 1 :(得分:4)
只需在解析对象unitNumber
中添加一个属性,其中一个函数返回unit_number
值。这样您就可以通过在控制器工厂函数中注入unit_number
依赖项来获取AddTenantModalCtrl
unitNumber
内的resolve: {
group: function () {
return $scope.group;
},
unitNumber: function(){
return unit_number
}
}
值。
unitNumber: unit_number
注意:不要直接执行
unit_number
,因为当你拥有它时,角度DI系统会尝试搜索依赖关系 名称为$injector
(值)的它将尝试将其评估为 功能。结果,您将在控制台中收到select case when description like '%university%' and description like '%history%' then 2 when description like '%university%' then 1 when description like '%history%' then 1 else 0 end as rank
错误。