问题标签 [angularjs-1.6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
45 浏览

javascript - AngularJS 中的定期任务

AngularJS 1.6、Node.js 6.2.1、MongoDB 2.6.10

我有一个音乐播放列表。大约有 200 首曲目。当我的网页打开时,播放列表会依次播放一首曲目,然后在最后一首曲目结束时从第一首曲目开始。

现在我想在播放列表中有更多曲目。但是,如果我从我的 MongoDB 获得超过 200 个 JSON 文档(一个文档有很多字段),我的网页开始之前会有延迟。在文档中,我有指向曲目的链接和一些附加信息。我得到的文件越多,我的延迟就越大。所以我现在已经硬编码了 200 首曲目的限制myDB.findRandom({}, {}, {limit: 200}, function(err, hyperlinks) {...});

如果能够在网页仍然打开时定期使某些曲目过期并加载新曲目,那就太好了。

你能建议我定期刷新我的播放列表什么 AngularJS 或 Node.js 技术?

0 投票
1 回答
1336 浏览

angularjs - 使用 yeoman 设置的 AngularJS 项目的路由问题

我已经使用 yeoman 设置了一个新的 Angular 项目。Angular 版本是 1.6.0。项目设置成功,但我一直面临路由问题

任务运行器 - Grunt

当我在本地运行项目时,我的本地页面将加载 URL

http://localhost:9000/#!/

我期待http://localhost:9000/#/

当点击关于链接浏览器被路由到

http://localhost:9000/#!/%23%2Fabout

期望:http://localhost:9000/#/about

当我点击主页链接浏览器被路由到

http://localhost:9000/#!/%23%2F

期望:http://localhost:9000/#/

可能是什么问题?在我使用 AngularJS 1.5.8 的其他系统中,我没有这样的问题。

0 投票
9 回答
60510 浏览

angularjs - angularJS 中的 $http.get 出错——成功不是函数

收到此错误:

angular.min.js:122 TypeError: $http.get(...).success is not a function at getUserInfo (app.js:7) at new (app.js:12) at Object.invoke (angular.min .js:43) 在 Q.instance (angular.min.js:93) 在 p (angular.min.js:68) 在 g (angular.min.js:60) 在 g (angular.min.js:61) ) 在 g (angular.min.js:61) 在 angular.min.js:60 在 angular.min.js:21

这是我的代码:

这是html

0 投票
5 回答
12281 浏览

javascript - AngularJS 1.6 路由不起作用

我正在尝试创建我的第一个 Angular 应用程序。但它根本不起作用。我不知道有什么问题。我检查了控制台,但没有错误。

谁能帮我?

0 投票
1 回答
401 浏览

ruby-on-rails - TurboLinks 与 Angular

我正在运行 Angular 1.6 和 TurboLinks 5。在大多数情况下,一切运行良好。我禁用了 TurboLinks 缓存,并根据这篇文章中的一些建议手动引导 Angular: Using angularjs with turbolinks

尽管我在服务中运行了 $interval,但我遇到了一个问题。当通过 TurboLinks 更改页面时,Angular 会再次引导,服务会创建一个新的时间间隔,但旧的时间间隔会继续运行!每次发生页面更改事件时,都会创建一个新的间隔,并且它们会相互叠加。

当单击 TurboLinks 链接(使用下面的代码)时,我尝试破坏 Angular 应用程序,但这似乎导致整个 Angular 应用程序退出工作。在页面重新加载后,我似乎也无法获得对旧间隔的引用。

如果没有$rootScope.$destroy()onturbolinks:click事件,其他一切似乎都按预期工作。

我知道我可以在这里触发一个事件并终止服务中的时间间隔,但理想情况下,我希望有某种方式可以自动处理它并确保在 TurboLinks 请求之间不会意外携带任何东西。有任何想法吗?

0 投票
5 回答
42481 浏览

angularjs - angularjs 1.6.0(现在最新)路由不起作用

我期待在 Stackoverflow 上看到这个问题,但没有。显然,我是唯一一个在我看来很常见的问题。

我有一个我正在做的基本项目,但即使我到目前为止所做的一切似乎都是正确的,但这些路线似乎并不奏效。

我的index.html文件中有这段 html:

这是我的app.js

现在,当我只是访问该页面时,这是我在 url 中得到的内容:

http://localhost:8000/admin#!/

当我点击Add quote按钮时,我得到了这个:

http://localhost:8000/admin#!/#%2Fadd-quote

这里有什么问题?感谢帮助

0 投票
3 回答
32425 浏览

javascript - URL hash-bang (#!/) 前缀而不是 Angular 1.6 中的简单哈希 (#/)

自从我上次处理我的项目以来,我在 AngularJS 项目上的 URL 已经从 更改为localhost:3000/admin#/......localhost:3000/admin#!/

网上没搜到,有人知道这是什么吗?

0 投票
6 回答
36845 浏览

angularjs - AngularJS URL 中的所有斜杠更改为 %2F

我在使用 AngularJS 路由时遇到了很大的问题。

直到最近,以下路线一切正常:

并使用href:

但是,现在所有的斜线都被编码为%2F.

因此,当我单击链接或localhost:8000/#/album/1在浏览器中键入时,URL 将更改为:

http://localhost:8000/#%2Falbum%2F1

我已经尝试了几件事来纠正这个问题:

使用 ng-href 而不是 href,不使用第一个 / (即href="#/album/{{album.id}}")在 Homestead localhost(Laravel 的 linux vagrant 机器)中运行应用程序而不是 Windows 10 上的 localhost

任何帮助将非常感激!

0 投票
9 回答
55668 浏览

javascript - Angular 1.6 中可能未处理的拒绝

我有一个AngularJS的代码:

在 AngularJS 1.5.9 中,当我在以下.then()部分出现错误时:

我收到明确的错误消息:

TypeError:无法读取 null 的属性“y”

但在 1.6 版中使用相同的代码,我得到了一个不同的错误:

可能未处理的拒绝:{} 未定义

我知道这与此更改.catch()有关,单个解决方案通过添加块非常简单:

现在我又得到了我想要的:

TypeError:无法读取 null 的属性“y”

但是如何在不在.catch()每个地方添加块的情况下为整个应用程序获得相同的结果(更详细的错误)?

我通过添加以下内容测试了建议的解决方案以禁用此功能:

但这样情况就更糟了——我的控制台里什么都没有!错误在某处被吞没,根本没有记录。我不确定 AngularJS 1.6 或我的配置有问题。

您对如何从 1.5.9 版“恢复”日志记录行为有任何想法吗?

编辑:

添加自定义错误处理程序:

根本没有帮助。在错误处理程序中,我已经收到“包装”错误。

0 投票
1 回答
1269 浏览

angularjs - Angular Hash 与 Hashbang

为什么 Angular 有时在 URL 中使用散列,而其他时候使用散列?我已经开始从头开始编写两个 Angular 应用程序。两者都没有使用 HTML5 模式。两者都有相同的默认路由。但是,默认 URL 的显示方式不同。

我已经看到这种随机行为至少一年了……早在 angular-route v1.6 之前。 另外,我一直使用 angular-ui-router。

默认路由:

应用程序 #1 解决了这个... http://localhost:3000 ... 到这个... http://localhost:3000/#/

应用程序 #2 解决了这个... http://localhost:3001 ... 到这个... http://localhost:3001/#!/

请注意默认 URL 中的最后两个字符。

我知道如何激活 HTML5 模式和漂亮的 URL。这不是我要问的。我真的很想了解上述两个 URL 的重要性以及为什么 Angular 以不同的方式编写它们。

当前版本:
angular-ui-router v0.3.2
angular v1.6.0