過去幾個星期我一直在學習Angular,並且我剛剛實現了麪包屑服務,但當我刷新頁面時,或者當我第一次導航到麪包屑存在的頁面。如果我回到主頁,然後返回到關於頁面,則碎屑按預期工作。角度麪包屑不工作在頁面刷新(ng路由)
請參閱this live example其當前狀態。
我相信這可能是我包括麪包屑的方式,並且我不瞭解這些活動背後的規則。
關於頁面有一個ng-include
它抓住了麪包屑的模板:
<ul id="breadcrumb" ng-controller="crumbCtrl">
<li><a href="#" title="Home">Home</a></li>
<li ng-repeat="breadcrumb in breadcrumbs.getAll()">
<ng-switch on="$last">
<span ng-switch-when="true">{{breadcrumb.name}}</span>
<span ng-switch-default><a href="{{breadcrumb.path}}">{{breadcrumb.name}}</a></span>
</ng-switch>
</li>
</ul>
我不想主頁出於顯而易見的原因,這就是爲什麼我已經包括只上顯示屑關於頁面。
有人能告訴我一種方法,我應該只將它隱藏在主頁上,或者請使用正確的部署方法。
而且,這裏是我的主要app.js:
var app = angular.module('dunnApp', ['ngRoute', 'services.breadcrumbs']);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
// Home
.when("/", {templateUrl: "partials/home.html", controller: "PageCtrl"})
// Pages
.when("/about", {templateUrl: "partials/about.html", controller: "PageCtrl"})
// else 404
.otherwise("/404", {templateUrl: "partials/404.html", controller: "PageCtrl"});
}]);
angular.module('dunnApp').controller('crumbCtrl', ['$scope', '$location', '$route', 'breadcrumbs',
function ($scope, $location, $route, breadcrumbs) {
$scope.location = $location;
$scope.breadcrumbs = breadcrumbs;
console.log("Crumbs online.");
}]);
app.controller('PageCtrl', function (/* $scope, $location, $http */) {
console.log("Page Controller online.");
});
事件'$ routeChangeSuccess'沒有在第一頁加載時觸發 –