我想弄清楚为什么我使用的脚本是给出一个错误。我有两个页面在我的应用程序,我想一些标题文本改变时,视图切换。它以目前的形式工作,但我一直得到一个控制台错误,我想修复。下面是代码:
.run(['$rootScope', function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
$rootScope.title = current.$$route.title;
});
然后在我的HTML中:
<h1 class="section-intro" ng-bind="title"></h1>
但是我一直得到这个错误:
TypeError: Cannot read property 'title' of undefined
at app.js:39
at Scope.$broadcast (angular.js:16165)
at angular-route.js:619
at processQueue (angular.js:14567)
at angular.js:14583
at Scope.$eval (angular.js:15846)
at Scope.$digest (angular.js:15657)
at Scope.$apply (angular.js:15951)
at HTMLBodyElement.<anonymous> (angular.js:12086)
at HTMLBodyElement.jQuery.event.dispatch (jquery.js:4435)
这与
$rootScope.title = current.$$route.title;
我最困惑的是,因为脚本工作,但错误是抛出当我切换回和第四。
这将是一个简单的修复,只是使用current.title
而不是私有$$route
对象。current
路由将继承title
:
app.run(['$rootScope', function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
$rootScope.title = current.title;
});
}]);