带有 Rails 3.1 的 AngularJS - 加载 Angular 种子时遇到问题

AngularJS with Rails 3.1 - trouble loading angular-seed

本文关键字:种子 Angular 遇到 问题 加载 Rails AngularJS 带有      更新时间:2023-09-26

我一直在玩AngularJS——顺便说一下,这是一个踢屁股的前端框架。

今天,我尝试将角度种子启动应用程序(在此处找到:https://github.com/angular/angular-seed)合并到当前存在的Rails 3.1.3应用程序中。

获取演示代码(此处:http://docs.angularjs.org/#!/tutorial)在资产管道中工作时遇到了一些问题,因此仅出于测试目的,我将它们放入公共文件夹 - 老派风格。

我按照教程正确设置了所有视图、控制器和服务。 但是,当我在索引页底部包含js文件时:

<script src="angular/app/lib/angular/angular.js" ng:autobind></script>
<script src="angular/app/js/services.js"></script>
<script src="angular/app/js/controllers.js"></script>

。没有一个控制器可以工作。 我会在我的模板中获取{{ model.property }}标签,而不是实际输出。

Chrome的开发工具中没有Javascript错误 - 网络和资源显示所有预期的文件都正确加载。

我想也许我忽略了代码中的某些内容,但是当我查看开发人员指南时,有一个指向 angular 的 cdn 的链接:

<script src="http://code.angularjs.org/angular-0.9.19.min.js" ng:autobind></script>

只是为了它,我用 cdn 替换了我的本地角度.js脚本调用,突然间一切都按预期工作。

仔细检查了一下,以确保我从正确的目录加载本地副本,我是 - 这是角度种子文件附带的标准目录。 此文件还显示为已正确下载的资源。

有人知道为什么 cdn 有效但本地副本不会?

angular-seed 使用 AngularJS 1.0.0rc5(当前),它与 0.9.19 不兼容。查看种子应用是如何连线的。(例如,删除 ng:autobind 并将 ng:app 或 ng-app 添加到布局模板中的 HTML 标记中)。

看起来您使用的是旧版本: 你想读这个: http://docs.angularjs.org/#!/guide/dev_guide.bootstrap.auto_bootstrap

您应该做的是使用新版本,文档在这里:http://docs-next.angularjs.org/guide/dev_guide.bootstrap.auto_bootstrap

首先,您在第一个脚本引用中缺少双引号。