问题标签 [angularjs]
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.
angularjs - 无法访问 $rootScope
以下文件“有效”(即它不会引发任何错误):
但是这个
给出错误:
错误:未知提供者:来自 modx
源文件的 $rootScope: http
://code.angularjs.org/angular-1.0.0rc7.js 行:2491
怎么回事?
javascript - 从遗留代码调用 AngularJS
我正在使用 AngularJS 构建与旧版 Flex 应用程序交互的 HTML 控件。Flex 应用程序的所有回调都必须附加到 DOM 窗口。
例如(在 AS3 中)
将会通知
从 JS 调整大小函数中,我想调度一个控制器可以听到的事件。似乎创建服务是要走的路。你能从 AngularJS 之外更新服务吗?控制器可以监听来自服务的事件吗?在一个实验中(点击小提琴),我似乎可以访问服务,但更新服务的数据并没有反映在视图中(在示例中<option>
应该添加到<select>
)。
谢谢!
scope - 在 AngularJS 中,如何找到页面上的所有范围?
一旦我们有了一个范围,我们就可以导航到它的根并探索范围层次结构。
但是有没有一种直接的方法可以找到页面上的所有范围?
同样给定一个 HTML 元素,是否有直接的方法来找到它的封闭范围?
ajax - 将数据从 angularjs 发送到 django
我正在使用 Angularjs 及其 $http 模块向 Django 服务器发送 POST AJAX 请求。这是一个例子:
问题是我在 Django 中得到了什么。无论我发送什么,数据始终是QueryDict
对象的键,其值始终是一个空列表。
我不知道为什么。我错过了什么?
我使用几乎默认创建的 Django 应用程序和默认中间件。我只创建了一个视图并在 url config 中设置了一个 url。Django 的版本是 1.3。我将 Angular 的 $http 模块配置为始终发送包含 csrf 令牌的标头以满足 Django。
angularjs - 如何观察指令的嵌入元素?
我试图写一个分页指令,但要做到这一点,我需要知道有多少元素被嵌入,所以 HTML 看起来像这样
(这是一个简单的例子——被嵌入的代码可能是任意复杂的。)
该指令必须注意……某些东西,因此它可以重新计算页数。
编辑对不起,代码没有被称为代码。我希望上面的代码将列表中的名称分解为 10 长的页面,并添加一些不错的下一个/上一个按钮。
问题是当link
指令的函数被调用时,div 还没有被展开。我通过推迟对 DOM 的更改来“修复”该问题——但这仅在第一次有效。如果 $scope.searchResults(或嵌入代码观察到的任何其他内容)发生变化,我需要重新调整 DOM。我只需要知道那是什么时候。
unit-testing - AngularJS 控制器单元测试 - 注入服务
一个关于 AngularJS 单元测试的简单问题。我有一个使用简单服务的控制器(改编自 angular-seed 项目)
服务.js:
控制器.js:
这在我的应用程序中效果很好。但是,我在单元测试框架工作中创建控制器时遇到了麻烦。我不知道我们如何注入“版本”服务(或创建实例)并将其传递给 $controller() 工厂 - 我假设这就是我想要做的?!这是最基本的规格:
控制器规范.js:
运行测试工具产生: >test.sh
...失败(3.00 ms):错误:错误:未知提供者:versionProvider <-版本错误:未知提供者:versionProvider <-版本
我用 $injector/$provider 和 module() 尝试了各种方法,但无济于事。我确信答案很简单,但我看不到。
javascript - AngularJS - 带有 Rails 3.2.3 的 $http POST
我正在使用 AngularJS 1.0.0rc8 使用 Crud 构建一个简单的联系人管理应用程序。
获取当前存在的联系人列表没有问题,但是在尝试将新联系人保存到服务器时,会创建一个新行 - 包含正确的 id、created_at 和 updated_at 值 - 但其余模型数据将被忽略.
这是显示我的意思的屏幕截图:
如您所见,数字 4 和 5 被赋予了 ID,但 first_name、last_name 和 phone_num 没有保存到数据库中。
我在处理对象的控制器中使用$scope.addContact函数。
这是联系人列表控制器的完整代码:
在 new-contact.html 部分上单击“保存”后,如果我检查它的内容,对象会记录到控制台,然后肯定会收集到值 - 请注意 Jimi Hendrix 在那里:
这是出现在 new-contact.html 模板中的表单:
addContact()函数在使用 JQuery 提交表单后触发:
(有些东西告诉我,我可能没有正确使用 ng-model 属性。)
关于我在哪里出错的任何想法?或者关于如何更好地实施这个设计的想法?
谢谢。
更新如下:
这是我整个更新的控制器代码 - 在 Sathish 的帮助下:
我现在收到错误消息:未知的联系人提供者。这是错误的屏幕截图
好的,我设法通过向主 App 文件提供ngResource来修复该错误。这是它的样子:
我收到一个新错误: 警告:无法验证 CSRF 令牌的真实性
好的,通过向 API 控制器添加回调也设法解决了这个问题: Rails 显示来自 RestKit POST 的“警告:无法验证 CSRF 令牌真实性”
现在我回到原来的问题。调用 create 方法时,会在数据库中保存一个新行,但不会保存模型数据。
太棒了...终于让这件事起作用了。
问题是$scope.addContact函数。它使用输入的“名称”而不是位于模板中的名为“newFirstName”和“newLastName”的ng-model绑定。
更新后的函数如下所示:
javascript - 如何使数据在外部可用
请在此处查看:http: //jsfiddle.net/9VaW2/1/
我想jData
在外面有空
但是当我这样做时:
它给了我这个错误
ReferenceError:未定义 jData
编辑 更新小提琴
** 我想我找到了进行同步调用的解决方案..async : false
。这样可行。我认为页面的加载速度比数据返回的速度要快....想知道是否有人有更好的解决方案**
javascript - 鼠标指令在嵌套的 AngularJS 环境中表现异常
我试图在 AngularJS 中实现嵌套树结构。它由所有由相同控制器类型管理的节点组成。你可以在这里找到一个例子:http: //jsfiddle.net/Yfmdy/2/
我的问题是,每次删除子节点并且修改其父节点的“子节点”数组时,所有父节点都会失去其 ng-mouseenter 和 ng-mouseleave 行为。
有谁知道该怎么做?我错过了什么吗?
javascript - AngularJS - 使用 ng-model 时忽略输入文本框上的值属性?
如果我将简单的输入文本框值设置为下面的“bob”,则使用 AngularJS。ng-model
如果添加了属性,则不会显示该值。
任何人都知道一个简单的解决方法,可以将此输入默认为某些东西并保留ng-model
? 我尝试将 ang-bind
与默认值一起使用,但这似乎也不起作用。