Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 路由提供程序无法访问控制器定义_Angularjs_Angularjs Routing - Fatal编程技术网

Angularjs 路由提供程序无法访问控制器定义

Angularjs 路由提供程序无法访问控制器定义,angularjs,angularjs-routing,Angularjs,Angularjs Routing,我正在尝试学习angularJS的路由特性,但到目前为止我所做的一切都不起作用 如果我曾经单击加载、显示或播放(在我的示例中:指向可能的操作URL的链接) 然后,仍然存在于DOM中(当我检查它时),而且它没有被路由提供程序的templateUrl中所指示的相关html部分文件替换 Chromium日志控制台显示一个错误: Uncaught ReferenceError:LoadCtrl未在我的应用程序中定义 如果在定义路由提供程序时将所有when放在注释中,则不再抛出错误 因此,我认为这可能取决

我正在尝试学习angularJS的路由特性,但到目前为止我所做的一切都不起作用

如果我曾经单击加载、显示或播放(在我的示例中:指向可能的操作URL的链接) 然后,
仍然存在于DOM中(当我检查它时),而且它没有被路由提供程序的templateUrl中所指示的相关html部分文件替换

Chromium日志控制台显示一个错误:
Uncaught ReferenceError:LoadCtrl未在我的应用程序中定义

如果在定义路由提供程序时将所有
when
放在注释中,则不再抛出错误

因此,我认为这可能取决于控制器的定义顺序以及路由提供者的定义。所以我试着把它们放在一个单独的controllers.js文件之前或之后。。。但这并没有改变任何事情

我想我犯了一个明显的错误,但我抓不住。有什么想法吗

index.html的内容

<!DOCTYPE html>
<html ng-app="my_app">
<body>
    <section class="section_command">
        <ul>
            <li><a href="#/load">Load file</a></li>
            <li><a href="#/display">Display file</a></li>
            <li><a href="#/play">Play file</a></li>
        </ul>   
    </section>
    <section class="section_content">
        <div ng-view></div>
    </section>

<script type="text/javascript" src="js/angular.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>
部分html文件尽可能简单:

load.html
load

display.html
显示


play.html
Playing

我很确定您需要根据控制器的字符串名称对其进行寻址:

when('/load', {templateUrl: 'partials/load.html', controller: 'LoadCtrl'}).

呵呵。。。但是我有一个新的错误:)。很明显,你的语法纠正起了作用。angularjs教程文档需要更正。好。。。我现在要看看这个新错误,当它试图加载我的部分html文件时。Thx.没有问题。:)一切看起来都是正确的。确保“partials”目录来自web根目录。祝你好运。我的新错误似乎在这里得到了回答,因为我用file://测试我的webapp文件,而不是http://The angularjs教程工作正常,因为它传递了控制器的函数名(该函数是在
app.controller
之外定义的,并且有一个名称)。但是,您将控制器定义为匿名函数,因此必须向
app
传递用于注册它的字符串。您得到的错误来自普通JavaScript,而不是真正的角度。
when('/load', {templateUrl: 'partials/load.html', controller: 'LoadCtrl'}).