1

每次刷新页面时,我都会收到以下多个错误:

TypeError: Cannot read property 'activeSite' of undefined

每个页面重新加载其中六个 - 每个选项卡显然有两个错误。
之后网站正常运行,没有错误。
我的原始项目是用 yeoman 生成的,它工作得很好,没有错误,直到错误似乎突然出现。
我能够用这个 Plunker 重新创建问题:

http ://plnkr.co/edit/fT3heMEgxfT9zLPKObC9?p=preview

://plnkr.co/edit/fT3heMEgxfT9zLPKObC9?p=preview 乍一看,一切看起来都不错,但看看控制台,你就会明白我的意思。
感谢您的时间。
贾里德

4

3 回答 3

1

在页面渲染期间,$route.current不能有任何activeSite属性。您可以这样做以避免错误

$scope.site = function (active) {
    if ($route.current !== undefined) {
        return (active === $route.current.activeSite);
    }
    return false;
};
于 2013-09-03T14:02:11.350 回答
1

也许

if ($route.hasOwnProperty('current')) {
    return (active === $route.current.$$route.activeSite);
}

?

于 2013-09-03T13:56:05.670 回答
0

由于您的绑定是在 ng-view 之外定义的,AngularJS 可能会在设置 ng-view 之前评估您的绑定,即在加载视图表单远程位置并因此出现此错误时。

于 2013-09-03T14:24:04.690 回答