我目前正在學習角度,我想創建顯示不同視圖的下一個/後退按鈕。爲視圖創建下一個/後退按鈕
我有一個模板稱爲example.html
<h1>{{ message }}</h1>
所使用的多個控制器:
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider){
$routeProvider.
when('/', {
templateUrl: '/partials/home.html'
}).
when('/first', {
templateUrl: '/partials/example.html',
controller : 'firstController'
}).
when('/second', {
templateUrl: '/partials/example.html',
controller : 'secondController'
}).
when('/third', {
templateUrl: '/partials/example.html',
controller : 'thirdController'
}).
otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
}
]);
而且我有一個header.html
它被包括在我的index.html
:
<a href="" data-ng-click="goBack()"> Next </a>
<a href="" data-ng-click="goNext()"> Back </a>
這是控制器:
app.controller('firstController', function($scope, $anchorScroll, $location) {
$anchorScroll();
$scope.message = 'First Controller';
$scope.goBack = function() {
$location.path('/third');
};
$scope.goNext = function() {
$location.path('/second');
};
});
app.controller('secondController', function($scope, $anchorScroll, $location) {
$anchorScroll();
$scope.message = 'Second Controller';
$scope.goBack = function() {
$location.path('/first');
};
$scope.goNext = function() {
$location.path('/third');
};
});
app.controller('thirdController', function($scope, $anchorScroll, $location) {
$anchorScroll();
$scope.message = 'Third Controller';
$scope.goBack = function() {
$location.path('/second');
};
$scope.goNext = function() {
$location.path('/first');
};
});
而且這工作正常。
我的問題是如果這是一個很好的方式,或者有更好的方法嗎?
您可以使用共享服務來執行邏輯並幹掉你的東西($ scope.goBack = routeService.goBack())。但是有很多關於如何實現這個目標的選項,所以我會說這是基於主要觀點 – Sprottenwels
@Sprottenwels你能給我一個例子如何使用服務來幹我的代碼嗎? – Vucko
@Vucko你有沒有計劃使用帶參數的路徑? –