所以我想要一個子菜單,改變子視圖的狀態,我失敗了。
於是成立了下面的函數調用$ state.go
$scope.stateGo = function (state) {
console.log("Loadting state " + state)
$state.go(state);
}
我可以正確的(或者是什麼,我認爲是正確的州名)被稱爲
在控制檯上看到Loadting狀態board.stat
然而,什麼都沒有,似乎與實際路由器發生。如果我改變它,那麼父母的狀態。它確實有效。例如,如果我將它設置爲登錄,它就可以工作。看起來
包含UI的意見的文件如下:
<div ui-view="topmenu">
</div>
</div>
<div id="mainView">
<div ui-view="mainView">
</div>
<div style="height: 100px;"> </div>
</div>
<div class="col-md-offset-3 footer navbar-fixed-bottom" id="adView">
<div ui-view="adView">
</div>
</div>
狀態配置:
.state('board', {
url: "/view/board",
views: {
topmenu: {templateUrl: "views/partials/menu-board"},
mainView: {templateUrl: "views/partials/welcome"},
adView: {templateUrl: "views/partials/amazon-banner"}
},
//controller: 'testCtrl'
})
.state('board.stat', {
url: "/stat",
views: {
topmenu: {templateUrl: "views/partials/menu-board"},
mainView: {templateUrl: "views/partials/stat"},
adView: {templateUrl: "views/partials/amazon-banner"}
}
})
我失去了一些東西,應該以$ state.go(」呼叫board.stat')讓ui-router將stat加載到mainView中?如果是這樣,任何想法爲什麼不是?
=======================編輯=================== OK,想我可能是做錯了,但不能確定如何... 改爲使用UI的HREF
<a ui-sref="board.stat" ui-sref-active="active" class="btn btn-xlarge" ><button class="btn btn-primary btn-circle btn-xl"><i class="fa fa-bar-chart fa-1x"></i><br><h6>Stats</h6></button></a>
<a ui-sref="board.quickbet" ui-sref-active="active" class="btn btn-xlarge" ><button class="btn btn-primary btn-circle btn-xl"><i class="fa fa-plus fa-1x"></i><br><h6>Quick bet</h6></button></a>
所以相同的佈局正如前面的按鈕,但它似乎是兩個孩子的狀態被加載,只有當我進入父母國家。
$rootScope.$on('$stateChangeError',
function(event, toState, toParams, fromState, fromParams, error){
console.log("State error: " + error);
})
$rootScope.$on('$viewContentLoading',
function(event, viewConfig){
// Access to all the view config properties.
// and one special property 'targetView'
// viewConfig.targetView
console.log("State event: " + viewConfig)
});
但我得到的唯一輸出是:
2狀態事件:MAINVIEW @ 2狀態事件
所以我使用以下兩種功能增加了對國家一些調試: adView @
但是當我按下按鈕什麼都沒有發生時
可能是你應該叫'stateGo(「board.stat」)'而不是'ui-sref =「board.stat」' – styopdev
試過了,好像它也這樣做。找到了一個解決思路 – vrghost