搜尋

首頁  >  問答  >  主體

angular.js - angular ui-router跳轉

app---
    a---
      a.index.html  
    b---
      b.index.html
b.index.html

<a ui-sref="a.index">show a.index.html</a>
<p ui-view></p>

怎麼讓ui-view這個p顯示的是a.index.html?

ui-view預設讀的是哪裡的?ui-view是由哪裡控制的?

而且 ui-sref 編譯後那個 a 標籤沒有 href 屬性

给我你的怀抱给我你的怀抱2754 天前577

全部回覆(1)我來回復

  • 某草草

    某草草2017-05-15 16:58:01

    angular.module("mainApp")
        .config(function ($stateProvider, $urlRouterProvider) {
            $stateProvider
                .state("a", {
                    url: '/a',
                    templateUrl: 'app/a/a.html'
                })
                .state("b", {
                    url: '/b',
                    templateUrl: 'app/b/b.html'
                })
            
            
    app/index.html:
    
    
    ....
    <p ui-view></p>
    ....
            
    

    ui-router是透過state进行页面跳转控制的,具体来说,当一个页面加载了ui-router及其相关router配置后(上面的示例代码),会跟据地址栏的url加载对应的模板,比如上文,如果访问了/a这个路径,ui-router会知道这个/a路径对应a这个state,他的模板是app/a/a.html,之后就会加载这个模板,并把它塞到ui-view这个directive的位置(這麼說可能不是很恰當,因為state可以繼承,view也可以有嵌套,這扯得就遠了)

    建議還是好好看看ui-router的wiki

    回覆
    0
  • 取消回覆