【发布时间】:2017-09-29 19:16:44
【问题描述】:
我过于简化的 app.config() 有:
$stateProvider.
state("/", {
url: "/",
templateUrl: "main.html"
}).
state("/newCategories", {
url: "/categories/new",
templateUrl: "/views/new_categories.html",
controller: "newCategoriesCtrl"
}).
state("/categoryPages", {
url: "/categories/:address",
templateUrl: "/views/categories.html",
controller: "categoriesCtrl",
resolve: {
categoriesDataResolve: function resolveTemplate($stateParams, DataResolver) {
return DataResolver.resolveTemplates($stateParams.address);
}
}
});
有了这个,我可以使用带有“/newCategories”的ui-serf链接来加载它的url:“/categories/new”
<a ui-sref="/newCategories">New Category</a>
但是,当我刷新时,它认为“/new”是 $stateParams 的一部分。因此它使用不同的控制器并尝试解析其模板(缺少模板,因此会出错)。
现在我通过将 url 从“/categories/new”更改为“/categories-new”来修复它,这样它就不会在刷新时混淆。 但是我该如何以不同的方式解决这个问题呢?(也许 ui-router 有某种处理方式)
【问题讨论】:
标签: angularjs angular-ui-router