我有一個角度應用程序看起來像這樣的鏈接:如何在加載標籤的角度應用程序中創建鏈接?
<tab ng-controller="childCtrl" heading="Children">
<a href="#/parent/{{parent.Id}}/child/{{child.Id}}">edit</a>
</tab>
我如何可以加載選項卡內的鏈接,而不是刷新整個視圖?
我有一個角度應用程序看起來像這樣的鏈接:如何在加載標籤的角度應用程序中創建鏈接?
<tab ng-controller="childCtrl" heading="Children">
<a href="#/parent/{{parent.Id}}/child/{{child.Id}}">edit</a>
</tab>
我如何可以加載選項卡內的鏈接,而不是刷新整個視圖?
我喜歡和處理所有路由一個點其他的辦法。帶嵌套視圖的ui.router允許執行此操作。
模板
<div ><a ui-sref="home.tab1" >Tab1</a></div>
<div><a ui-sref="home.tab2" >Tab2</a></div>
<br>
<div ui-view="tabs"></div>
應用
var app = angular.module('plunker', ['ui.router']);
app.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'main.html',
controller: 'MainCtrl',
virtual: true
})
.state('home.tab1', {
url: '/tab1',
views: {
tabs: {
templateUrl: '1.html'
}
}
})
.state('home.tab2', {
url: '/tab2',
views: {
tabs: {
templateUrl: '2.html'
}
}
});
$urlRouterProvider
.otherwise('/home/tab1');
})
和演示http://plnkr.co/edit/r1jPgkMnPAMlI34gZrMA?refresh&p=preview
您可以在單擊鏈接時定義所選標籤內容的路徑,並使用ng-include
來顯示它。
<div ng-repeat="parent in parents">
<div ng-repeat="child in parent.children">
<a href="" ng-click="selectPath(parent, child);">
Parent {{parent.Id}}, Child {{child.Id}}
</a>
</div>
</div>
<div ng-include="selected.path"></div>
這真的很有趣! – 2014-12-02 18:31:58
希望我能downvote此評論 – 2015-01-29 19:48:25
因爲它困擾你,我已經刪除了評論。 – SoluableNonagon 2015-01-30 22:27:38