通过依赖项注入在控制器之间传递$routeParams
Passing $routeParams between controllers via dependency injection
我想知道如何将此控制器范围内的变量传递给另一个控制器。我想做的是获取vm.search(searchParameters)并将其传递给另一个控制器。
///
(函数(){"严格使用";
var controllerId = 'GroupMaintenanceBrowsePlansCtrl';
angular.module('myApp').controller(controllerId, ['$scope', 'RenewalGroupDataService', 'logger', Controller]);
function Controller($scope, datacontext, logger) {
logger = logger.forSource(controllerId);
var logError = logger.logError;
var logSuccess = logger.logSuccess;
var logWarning = logger.logWarning;
var vm = {};
$scope.vm = vm;
vm.getPlans = getPlans;
vm.plans;
vm.loadingPlans = false;
vm.pageSize = 100;
function getPlans(searchParameters) {
vm.loadingPlans = true; vm.search = searchParameters;
datacontext.getAssignedPlans(searchParameters, vm.pageSize).then(function (plans) {
vm.plans = plans;
//Compares which columns are being populated for choosing which headings to show
if (vm.search.MchNumber != null
||vm.search.ContractNumber != null
|| vm.search.PlanCode != null)
{
vm.detail = true;
}
if (vm.search.DivisionName != null
|| vm.search.PoolName != null
|| vm.search.SubpoolName != null
|| vm.search.RenewalGroupName != null)
{
vm.detail = false;
}
//Sets values to NULL after every search is performed
vm.search.MchNumber =
vm.search.ContractNumber =
vm.search.PlanCode =
vm.search.DivisionName =
vm.search.PoolName =
vm.search.SubpoolName =
vm.search.RenewalGroupName = null;
}).finally(function () { vm.loadingPlans = false; });
}
};
})();
要在两个控制器之间使用一个值,可以使用两个控制器都注入的服务。
例如
root.service("MyService", function () {});
将MyService
注入每个控制器。然后,两个控制器将使用相同的实例(因为服务是单实例),所以您在该服务上更改的任何内容都将被共享。
您也可以将服务放在$scope
上,并使用模板绑定。但在您的情况下,我认为这与此无关。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- d3中堆栈函数和嵌套函数之间的差异
- JQuery:在页面之间滑动
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 操作放置在画布上的元素之间的连接
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- jquery在表单之间切换
- Nodejs API控制器,用于在API之间切换
- 如何在aspx页面之间传递参数
- 在索引.html和应用.js [node.js] 之间共享变量
- 什么是&&在没有if的行中的变量之间
- 通过依赖项注入在控制器之间传递$routeParams
- $route.current.pathParams 和 $routeParams 之间的区别