Angularjs TypeError:无法读取属性'$$阶段';空-角JS的定义

Angularjs TypeError:无法读取属性'$$阶段';空-角JS的定义,angularjs,Angularjs,我正在学习AngularJS并尝试开发一个简单的应用程序。该应用程序由两个页面(部分)组成,分别为列表和详细信息 如果我分别访问这两个页面(在地址栏中手动输入URL),两个页面都可以正常加载,没有任何错误。但如果我从列表页面导航到详细信息页面,控制台将显示此错误 TypeError: Cannot read property '$$phase' of null at Object.$$debounceViewValueCommit (angular.min.js:293) at Object.$

我正在学习AngularJS并尝试开发一个简单的应用程序。该应用程序由两个页面(部分)组成,分别为列表和详细信息

如果我分别访问这两个页面(在地址栏中手动输入URL),两个页面都可以正常加载,没有任何错误。但如果我从列表页面导航到详细信息页面,控制台将显示此错误

TypeError: Cannot read property '$$phase' of null
at Object.$$debounceViewValueCommit (angular.min.js:293)
at Object.$setViewValue (angular.min.js:293)
at Array.<anonymous> (angular.min.js:315)
at m.$digest (angular.min.js:145)
at m.$apply (angular.min.js:147)
at l (angular.min.js:101)
at XMLHttpRequest.N.onload (angular.min.js:106)
index.html

<!DOCTYPE html>
<html lang="en" ng-app="myApp">

<head>
    <meta charset="UTF-8">
    <title>Angular Demo</title>
    <script src="lib/angular/angular.min.js"></script>
    <script src="lib/angular/angular-route.min.js"></script>

    <script src="js/app.js"></script>
    <link rel="stylesheet" href="css/bootstrap.min.css">
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="col-md-6 col-md-offset-3">
                <div class="page-header">
                    <h1><a href="#!/list">Heroes</a></h1>
                </div>
                <div ng-view></div>
            </div>
        </div>
    </div>
</body>

</html>
<section>
        <div class="form-group">
            <input ng-model="query" type="text" class="form-control" placeholder="Search for heroes" autofocus>
        </div>
        <div class="form-group">
            <label>Sort by: </label>
            <select ng-model="order">
                <option value="nickname">Nickname</option>
                <option value="name">Name</option>
            </select>

            <input ng-model="direction" type="radio" name="direction" checked>
            <label>Ascending</label>
            <input ng-model="direction" type="radio" name="direction" value="reverse">
            <label>Descending</label>
        </div>
        <ul class="list-group">
            <li class="list-group-item" ng-repeat="item in hero | filter: query | orderBy: order:direction">
                <a href="#!/details/{{hero.indexOf(item)}}">
                    <img ng-src="images/{{item.imagename}}.png" alt="Photo of {{item.nickname}}">
                    <div>
                        <h2>{{item.nickname | uppercase}}</h2>
                        <h3>{{item.name}}</h3>
                    </div>
                </a>
            </li>
        </ul>
</section>
    <section>
        <div ng-model="hero" class="jumbotron">
            <h2>{{hero[whichItem].nickname}}</h2>
            <div>
                <h3>{{hero[whichItem].name}}</h3>
                <img ng-src="images/{{hero[whichItem].imagename}}.png" alt="Photo of {{hero[whichItem].imagename}}">
                <div>{{hero[whichItem].lore}}</div>
            </div>
        </div>
        <a href="#!/list">&laquo; Back to search</a>
    </section>

使用angularjs的稳定版本(目前最新版本为1.5.9)来摆脱

“TypeError:无法读取null-AngularJS的属性“$$phase” 错误


这实际上破坏了我的应用程序,并导致一个错误:$controller:ctrlreg此名称的控制器未注册。我已修改了您的脚本文件。我编辑了脚本,使其与您的脚本相同,但主要错误
TypeError:无法读取null的属性“$$phase”
仍然存在。您正在使用的是什么版本的angular?只是使用angular js的稳定版本。最新版本是1.5.9。它将解决这个问题。并在详细信息页面中获得正确的索引项。您可以使用
,这似乎是AngularJS v1.6.0-rc.2的一个问题。我已更改为AngularJS v1.5.9,问题消失了。谢谢@nikky指出这一点。我还注意到片段标识符现在是#,而不是#!
    <section>
        <div ng-model="hero" class="jumbotron">
            <h2>{{hero[whichItem].nickname}}</h2>
            <div>
                <h3>{{hero[whichItem].name}}</h3>
                <img ng-src="images/{{hero[whichItem].imagename}}.png" alt="Photo of {{hero[whichItem].imagename}}">
                <div>{{hero[whichItem].lore}}</div>
            </div>
        </div>
        <a href="#!/list">&laquo; Back to search</a>
    </section>
[
    {
        "nickname" : "Sniper",
        "imagename" : "sniper",
        "name" : "Kardel Sharpeye",
        "lore" : "Bla... Bla... Bla..."
    },
    {
        "nickname" : "Io",
        "imagename" : "io",
        "name" : "Wisp",
        "lore" : "Bla... Bla... Bla..."
    },
    {
        "nickname" : "Timbersaw",
        "imagename" : "timbersaw",
        "name" : "Rizzrack",
        "lore" : "Bla... Bla... Bla..."
    }
]