gpt4 book ai didi

javascript - AngularJS Controller 未加载

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:04:20 25 4
gpt4 key购买 nike

我有一个 AngularJS 应用程序,其中的页面是使用 Smarty 构建的。页面顶部有ng-agg标签参数,正在编译基本的AngualarJS模板,正在运行我的模块的.run方法,但是我的 Controller 未被调用

html 开始

<!DOCTYPE html>
<html ng-app="myapp">
...

$routeProvider

angular.module('myapp', function($routeProvider, $locationProvider) {
$routeProvider
.when('/index.php?page=tutorial', {controller: 'MyappTutorial'})
.when('/index.php?page=home', {controller: 'MyappHome'})
.when('/index.php?page=login', {controller: 'MyappLogin'})
})

Controller 教程

var MyappTutorial = function ($scope, $location) {
console.log('tutorial');
}

当我访问页面 index.php?page=tutorial 时,我的 Angular 页面模板已构建,并且 console.log() 在我的 myapp 中。 run() 方法被触发,但是教程 Controller 没有运行。

我该如何调试它。我猜是 routeProvider 出错了,有没有办法让我检查正在使用哪个 Controller (如果有的话)。

我的 javascript 控制台没有收到任何错误。

这是在 Chrome 中运行的,来自 Mac 上的本地开发 Ubuntu 虚拟机。

最佳答案

我认为您可能需要重新考虑如何构建项目。我试过像你这样的东西,但对我来说似乎不对(而且无法让它发挥作用)。

我在 angular 中使用 php(在我的工作之外)和 .net(在我的工作中),不久前我得出的结论是,它在盒子里工作要容易得多,意思是,(恕我直言) 放弃 smarty,放弃 php 模板,使用 angular 作为客户端,使用 php 作为服务器端。这并不是说您不能拥有 index.php,但是,您可以使用部分文件(php 或 html)。你会发现一个更简单的结构,你可以在其中使用 html、js(在教程中查看 tutorial routing and multiple views)。您应该意识到,在使用局部变量时需要注意一些事项(尤其是在使用 # 和 html5mode 时)。

但是,您没有征求我的意见——我可能会为此感到厌烦……来回答您的问题。我认为如果想保留您拥有的结构,那么您应该将 Controller 放在模板中附加到容器中。

希望对你有帮助

--丹

关于javascript - AngularJS Controller 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com