我有以下状态。
.state('categories', {
url: '/categories',
templateUrl: 'categories',
controller: 'CategoriesController',
})
模板网址加载:
<div>
<a ui-sref="categories.bob">my link text</a>
</div>
但ui-sref
未编译。解决这个案子的正确方法是什么?
- [编辑] - 我的意思是由AnulgarJS编译的html加载表单模板。例如
<a ui-sref="categories.bob">my link text</a>
应该是
<a ui-sref="categories.bob" href="#/categories/bob">my link text</a>
答案 0 :(得分:0)
我假设你想传递bob
作为可选参数?如果是这种情况,请尝试以下方法:
定义新状态:
.state('categories.name', {
url: '/:name',
templateUrl: 'subcategorytemplate',
controller: 'SubCategoryController',
})
路线:
<div>
<a ui-sref="categories.name({name:"bob"})">my link text</a>
</div>
您可以通过调用$stateParams
在ui-router的$stateParams.name
服务中找到您的路由参数。有关详细信息,请查看here。
答案 1 :(得分:0)
事实上我发现了我的问题。我的禁食状态网址错了。
.state('categories.category', {
url: '/:category',
templateUrl: function($params) {
console.log($params);
return 'categories/' + $params.category;
},
})
但是如果我使用templateUrl加载html,我仍然不会强调如何以及为什么<a ui-sref="someUrl">
被呈现为<a ui-sref="someUrl" href="#>someUrl">
。如果没有生成href属性。那么有没有办法让它生成href属性呢?
如何在父ui-view
中加载嵌套视图?