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
屬性
某草草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