Sto imparando angolare e ho cercato di caricare dinamicamente un frammento di file HTML nel riquadro del contenuto di una scheda.Come caricare gli stati degli ui-router nel contenuto delle schede ui-bootstrap
In this linked plunker ho creato un modulo angolare per configurare gli stati
var app = angular.module('Plunker', ['ui.router', 'ui.bootstrap'])
app.config([
'$stateProvider',
'$urlRouterProvider',
function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state("tab1", { url: "/tab1", templateUrl: "tab1.html" })
.state("tab2", { url: "/tab2", templateUrl: "tab2.html" })
.state("tab3", { url: "/tab3", templateUrl: "tab3.html" });
$urlRouterProvider.otherwise('/');
}]);
app.controller("tabsController", function ($rootScope, $scope, $state) {
$scope.tabs = [
{ title: "My Tab 1", route: "tab1", active: true },
{ title: "My Tab 2", route: "tab2", active: false },
{ title: "My Tab 3", route: "tab3", active: false },
];
$scope.go = function (route) {
$state.go(route);
};
$scope.active = function (route) {
return $state.is(route);
};
$scope.$on("$stateChangeSuccess", function() {
$scope.tabs.forEach(function (tab) {
tab.active = $scope.active(tab.route);
});
});
});
e nel corpo index.html assegnare l'interfaccia utente consente di visualizzare un nome per associarlo con lo stato/percorso
<body ng-app="Plunker">
<div ng-controller="tabsController">
<uib-tabset>
<uib-tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" disable="tab.disabled">
<div ui-view="{{tab.route}}"></div>
</uib-tab>
</uib-tabset>
</div>
</body>
Ogni scheda dovrebbe avere contenuto proveniente dal rispettivo frammento di file html tab1.html, tab2.html o tab1.html. Ma non riesco a farlo funzionare. Qualsiasi aiuto nel rendere questo lavoro sarebbe molto apprezzato.
se si desidera una scheda p er route, non hai bisogno di '' usa solo tabs css e link regolari –
charlietfl
@charlietfl grazie lo terrò a mente. – Kickaha