大佬教程收集整理的这篇文章主要介绍了angularjs – 如何在ui-router中继承解析数据,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
父状态
.state("home.metric",{ url: "/category/:categoryId/metric/:metricId/name/:metricName",views: { 'main@': { templateUrl: function (stateParams){ //move this to a util function later var tempName = unescape(stateParams.metricName); tempName = tempName.replace(/\s/g,"-"); return '../partials/slides/' + tempName + '.html'; },resolve: { MetricData: ['Metricservice','$stateParams',function(Metricservice,$stateParams){ var data = { categoryId : $stateParams.categoryId,metricId : $stateParams.metricID}; return Metricservice.getMetricDetails(data); }] },controllerProvider: function ($stateParams) { var tempName = unescape($stateParams.metricName); tempName = tempName.replace(/\s+/g,''); return tempName + 'Ctrl'; } } } })
儿童状态
.state("home.metric.detail",{ url: "/detailId/:detailId/detailName/:detailName",views: { 'main@': { templateUrl: function ($stateParams){ //move this to a util function later var tempName = unescape($stateParams.detailName); tempName = tempName.replace(/\s/g,resolve: { DetailData: ['Detailservice',function(Detailservice,detailId : $stateParams.detailID}; return Detailservice.getDetails(data); }],// MetricData: ['Metricservice',// function(Metricservice,$stateParams){ // var data = { categoryId : $stateParams.categoryId,metricId : $stateParams.metricID}; // return Metricservice.getMetricDetails(data); // }] },controllerProvider: function ($stateParams) { var tempName = unescape($stateParams.detailName); tempName = tempName.replace(/\s+/g,''); return tempName + 'Ctrl'; } } } })@H_616_9@
是基于
What Do Child States Inherit From Parent States?
结合
Scope Inheritance by View Hierarchy Only
II.虽然现在应该是明确的,但我们仍然需要找到一种解决方法:
我也会说,也有答案.例如.
> Angular UI Router Nested State resolve in child states
> How do I prevent reload on named view,when state changes? AngularJS UI-Router
例如.我们可以像在这个问答A:Controlling order of operations with services and controllers,见plunker:
一个特殊的父母/根状态:
$stateProvider .state('root',{ abstract : true,// see controller def below controller : 'RootCtrl',// this is template,discussed below - very important template: '<div ui-view></div>',// resolve used only once,but for available for all child states resolve: { user: function (authservicE) { return authservice.getUserDetails(); } } })
将解决的东西传递到$范围(由每个孩子继承)
.controller('RootCtrl',function($scope,user){ $scope.user = user; })
这被注入到我们的状态/视图层次结构之上,任何子状态都会从中获益
// any prevIoUsly root state will just use the above as a parent .state('index',{ url: '/',parent : 'root',
查看更多细节here,并在working example查看
@H_616_9@以上是大佬教程为你收集整理的angularjs – 如何在ui-router中继承解析数据全部内容,希望文章能够帮你解决angularjs – 如何在ui-router中继承解析数据所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。