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>
<div ui-view></div>

怎样让 ui-view 这个div显示的是 a.index.html ?

ui-view 默认读的是哪里的? ui-view 是由哪里控制的?

而且 ui-sref 编译后那个 a 标签没有 href 属性

ui-router angularjs

硬化氪金狗套 9 years, 4 months ago

 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:


....
<div ui-view></div>
....

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

大雾的感觉 answered 9 years, 4 months ago

Your Answer