2014-09-25 48 views
2

我堅持將ui-router整合到我的角度應用程序中。 爲了簡單起見,它可以工作,只有模板不會呈現。 我也沒有得到任何錯誤。ng-view爲什麼不渲染我的模板?

HTML佈局文件

div.navbar.navbar-default.navbar-fixed-top 
    ul.nav.navbar-nav 
    li 
     a(ui-sref='index') Home 
    li 
     a(ui-sref='about') About 

div.container 
    div.view-frame(ui-view) 

局部模板的主頁(約長相相似)

div.row(ng-controller='HomeCtrl') 
    div.col-sm-12 
    h1.lead Welcome 

我的路線

$stateProvider 
    .state('about', { 
    url: '/about/', 
    templateUrl: '/partials/about.html' 
    //template: '<h1>Test</h1>' doesn't work as well 
    }) 
.state('index', { 
    url: '/', 
    templateUrl: '/partials/index.html' 
    }) 

當我點擊其中一個鏈接並檢查我的網絡流量時,模板/部分也會加載url更改。 我甚至可以在Chrome開發人員工具中看到我的html的正確預覽。 我唯一的問題是,ui路由器會將它加載到ui-view指令中。

我使用最新的Chrome和最新版本的ui-router。 我通過api加載了所有的partials,但無論如何,這應該很重要。 我以前使用過正常的路由提供程序,而且一個工作得很好,我嘗試'升級'。

我做錯了什麼,或者我在這裏發現了一個錯誤?

回答

2

看起來像你正在使用玉石。離開關閉屬性的值使作爲屬性名稱,這樣你生成/渲染HTML看起來像

<div class="view-frame" ui-view="ui-view"></div> 

當UI路由器會在你的狀態稱爲'ui-view'視圖中的值,它不能找到它。當它在您的模板中查找名爲''的視圖時,它無法找到它。您需要將屬性設置爲空字符串,因此UI路由器可以找到''

div.view-frame(ui-view='') 
+0

哦,親愛的默認,我恨我自己沒有看到在森林的樹。感謝您解決....... – Silom 2014-09-25 16:22:02