基于视图改变文本AngularJS错误



我想弄清楚为什么我使用的脚本是给出一个错误。我有两个页面在我的应用程序,我想一些标题文本改变时,视图切换。它以目前的形式工作,但我一直得到一个控制台错误,我想修复。下面是代码:

.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;
    });
}]);

相关内容

  • 没有找到相关文章

最新更新