angular.js - angular ui-router跳转

【字号: 日期:2023-01-25浏览:25作者:雯心

问题描述

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 属性

问题解答

回答1:

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

相关文章: