我想加载页面之前加载一份食谱列表。在任何子州都需要这个清单。取决于$stateParam
我要预先过滤此列表。
问题
$stateParam
吗? 我避免使用第二种解决方案,因为解析允许我在子状态之间切换而不重新加载数据(或者不检查数据是否已经加载)。
研究 我知道父状态不知道子状态发生了什么。但是,子状态知道父状态中的变量。我想这就是这个解决方案的用途: angular ui-router and accessing child state params from parent
但是我没有让它工作,我也不想为父状态设置一个url,因为它永远不会单独加载。
代码
.state "widget",
templateUrl: "app/widget/widget.html"
controller: "WidgetCtrl"
resolve:
Recipes: ($http, $stateParams) ->
console.log "$stateParams.oldContext #{$stateParams.oldContext}"
return $http.get('/getProovenRecipes').then( (result) ->
#console.log result.data
return result.data
)
.state "widget.recipes",
views:
'recipes':
templateUrl: "app/widget/recipes/recipes.html"
controller: "RecipesCtrl"
controllerAs: "recipesController"
.state "widget.recipes.tags",
url: "/widget/{context}"
views:
'tags@widget':
templateUrl: "app/widget/tags/tags.html"
controller: "TagCtrl"
controllerAs: "tagController"