我一直在努力做这项工作,我想我错过了什么,但我不知道是什么。我试过绝对路径和同样的问题。也许是我试图联系各州的方式?
树视图如下:
var results []string
if err := cache.Get("res", &results); err == nil {
// use results
} else {
// do db query
cache.Set("results", results, 3*time.Minute)
}
我可以从- app
- app.category
- app.category.category-detail
导航到app
,但我不能再继续了,这是我的路线:
app.category
这是我的 category.html
.state('app.category', {
url: "/category?catId",
views: {
'menuContent': {
templateUrl: "templates/category.html",
controller: "CategoryCtrl",
params: ['catId ']
}
}
})
.state('app.category.category-detail', {
url: "/category-detail",
views: {
'menuContent': {
templateUrl: "templates/category-detail.html",
controller: "DirectoryDetailCtrl",
params: [ 'catId' ]
}
}
})
现在,如果我使用Chrome开发工具检查此网站,我可以看到生成下一个链接:
<ion-view>
<ion-nav-bar class="bar-dark nav-title-slide-ios7 bg-nav" ng-controller="NavCtrl">
<ion-nav-back-button class="button-clear" ng-click="myGoBack()">
<i class="ion-chevron-left blanco negrita"></i>
</ion-nav-back-button>
</ion-nav-bar>
<ion-content class="directory-content padding-3 bg-gris">
<ion-list>
<ion-item ng-repeat="category in categories" class="item-thumbnail-left tarjeta">
<a ui-sref="app.category.category-detail">
{{category.categoryName}}
</a>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
但视图未加载,并且未显示错误。
类别-detail.html
<a ui-sref="app.category.category-detail" href="#/app/category/category-detail?catId=1" class="">
Category 1
</a>
答案 0 :(得分:3)
params定义存在一个问题,视图/目标命名存在第二个问题
予。 params:[&#39; catId] 问题
详细了解 params: {}
对象,例如:
上面使用的符号:
params: [ 'catId' ]
不再有效......现在我们有更多的设置,例如默认值:
params : { cateId : null }
了解更多here
II。查看命名
您似乎也尝试从ui-view="menuContent"
及其子状态'app.category'
定位相同的 'app.category.category-detail'
...两者都具有相对命名:
.state('app.category', {
url: "/category?catId",
views: {
'menuContent': { // no @ = relative name
...
.state('app.category.category-detail', {
url: "/category-detail",
views: {
'menuContent': {
...
如果此目标 ui-view="menuContent"
在&#39; app&#39;中定义州,我们必须使用绝对命名
.state('app.category.category-detail', {
url: "/category-detail",
views: {
'menuContent@app': {
...
原因是,该名称视图符号没有&#39; @&#39;是实际的,可以表达为&#39; viewName @ parentState&#39;。所以这些都是一样的
.state('app.category', {
url: "/category?catId",
views: {
// relative
'menuContent': {
// absolute - targeting the same ui-view
'menuContent@app': { // this is absolute name
尝试在这里获得更多(不是关于离子,但后面的UI-Router的东西是相同的):