问题标签 [angularjs-directive]

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 投票
2 回答
2844 浏览

jquery-ui - 使用 AngularJS 和表单验证禁用 jQuery 按钮

我想根据表单验证禁用我的 jQuery 按钮。根据文档,使用以下语法的常规按钮相当容易:

但是,当更改为 jQuery UI 按钮时,它不再起作用。我假设 Angular 在 jQuery UI 和 AngularJS 之间没有真正的绑定,因此需要一个指令来执行以下操作:

是这种情况还是有其他选择?我正在尝试做的一个 jsFiddle 在这里:http: //jsfiddle.net/blakewell/vbMnN/

我的代码如下所示:

看法

控制器

0 投票
2 回答
5066 浏览

unit-testing - 单元测试时未在指令中调用 scope.$watch

问题

我正在测试一个指令。该指令在范围变量上有一个监视,但从不调用监视。将$watch调用直接放在单元测试中是可行的。为什么$watch不调用指令中的?

谢谢!

细节

这是我的原始测试。该指令中有一个手表,看着'reEvalCreateDate'. 它从未被调用,并且日期字符串始终为空。

测试中没有 watch 语句

作为测试,我将手表放在单元测试中。它被正确调用并且测试通过。

来源(修改为将手表放入测试本身)

指令源代码

这是其中包含 watch 语句的指令代码。

设置代码

这是测试的所有初始化代码。

更新

根据评论,我认为我没有在指令上设置范围;我在 API 上看不到任何允许我这样做的东西。我已经尝试了调用的几种排列$compile,试图在其上设置范围:

从 html 创建一个元素,将其传递给编译。没运气。

并首先创建一个元素

如果问题是我只是没有在指令上设置范围,那么我认为错误可能在 mybeforeEach中。这里是:

0 投票
17 回答
210946 浏览

javascript - 如何将输入限制为仅接受数字?

我在 AngularJS 中使用 ngChange 来触发一个自定义函数,该函数将删除用户添加到输入中的任何字母。

问题是我需要定位触发的输入,numbersOnly()以便删除输入的字母。我在谷歌上找了很久很久,却找不到任何关于这个的东西。

我能做些什么?

0 投票
5 回答
56915 浏览

angularjs - Angularjs将对象传递给指令

角新手在这里。我试图弄清楚在将对象传递给指令时出了什么问题。

这是我的指令:

这是我调用指令的模板:

store.walks是一个对象数组。

当我运行它时,scope.walks将日志记录为undefinedwhilescope日志很好,作为 Scope 甚至有一个walks包含我正在寻找的所有数据的孩子。

我不确定我在这里做错了什么,因为这种确切的方法以前对我有用。

编辑:

我用所有必需的代码创建了一个 plunker:http: //plnkr.co/edit/uJCxrG

如您所见,{{walks}}它在范围内可用,但我需要在仍将其记录为未定义的链接函数中访问它。

0 投票
1 回答
5168 浏览

angularjs - 如何在angularjs中编写指令

我喜欢使用指令制作自定义组件。我检查了很多教程,它让我感到困惑,任何人都可以解释指令是如何工作的。我打算制作的组件是

喊单的模板是这样的

0 投票
1 回答
279 浏览

templates - 带有外部 js 库的 Angular 模板

我已经制作了元素指令,它通过templateUrl参数与模板一起使用。该模板包含文件上传输入,大约需要 8 个外部 js 库(jquery 文件上传插件)。如果我在模板中有这些 js 库的链接(使用标准脚本元素),那么一切正常,但是在加载时浏览器控制台中出现错误:

如果我将 js 库的链接直接放到有我的指令的页面上,则没有错误,但这不是可重用性的好方法。

0 投票
2 回答
6117 浏览

javascript - 从 javascript 链接到 .cshtml 视图

如何从 javascript 文件中直接指向 .cshtml 视图?例如,为什么我不能将 .cshtml 视图与 angular.js 一起使用?就像在这个例子中:

当然可以有一个返回任何你想要的操作方法,但我很好奇是否可以直接引用剃刀视图。

0 投票
7 回答
29982 浏览

angularjs - 您可以即时更改 templateUrl 吗?

是否可以通过在指令范围内传递值来动态更改 templateUrl?我想将数据传递给控制器​​,该控制器将根据从指令传递的数据呈现页面

可能看起来像这样的东西:

0 投票
1 回答
1091 浏览

angularjs - 不使用 ng-repeat 的数组指令

我再次偶然发现性能缓慢,ng-repeat并且无法弄清楚如何构建一个指令,该指令将在不使用ng-repeat任何地方(甚至在模板中)的情况下呈现元素数组

那么,你们是怎么做到的呢?

即使我遍历数组,对每个元素都使用模板:

如果我选择为所有元素使用一个模板,那么我别无选择,只能ng-repeat在其中使用它,它将创建 ngRepeatWatchers 并且一切都会再次变慢。

0 投票
1 回答
82 浏览

javascript - Optimizing recurring ui updates

I just figured what's slowing down entire page.

I have a directive that updates date, based on Resig's prettyDate jquery plugin, showing in convenient format how long ago the event took place... The directive itself build around the angular's sample that they use on the documentation page here's the sample.

it works perfectly if you have a few elements on the page, but once you put more it slows down the entire page, because it's constantly updating the time, even if you put longer interval between the updates it still will update simultaneously all the elements.

Can you guys suggest any solution to that? Is it possible somehow to update them asynchronously or I know it sounds silly like in a different thread or something like that.

How do people generally solve that, how do you update thousands of elements without sacrificing performance?