问题标签 [angularjs-controller]
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 - Angular 使用另一个指令的控制器?
如果我有两个指令,并且需要其中一个使用另一个的控制器,那么以角度完成类似操作的最佳方法是什么?我正在尝试使用require: otherDirective
我在文档中看到的东西,但我得到了一个
错误:没有控制器:dirOne
从下面的例子。我的印象是,通过在 require 语句中指定 dirOne,dirTwo 将可以访问 dirOne 的控制器。我在这里做错了什么?
javascript - 在 angularjs 控制器中定义的函数的函数未定义错误
我查看了其他“未定义功能”问题,但似乎找不到适用于我的用例的问题。我正在使用 angular.js。
我有一个最初为空的 div,#mylist 我在 js 中动态填充。我在控制器中定义了一个函数,我将其分配给onChange
复选框的事件。
这是完整的文档:
运行时,单击复选框会导致函数未定义错误。
我在这里想念什么?谢谢。
angularjs - 使用 AngularJS 和 jsPlumb(在 AngularJS 控制器中使用 jsPlumb 函数)
所以我有一个正在处理的项目,它要求我使用 jsPlumb 进行图形元素连接,并且我正在完全使用 AngularJS 构建我的应用程序。
如果我想将另一个库的代码包含到我的控制器中(以启动一些 jsPlumb 代码,比如在 ng-click 上)或我的 AngularJS 代码的任何其他部分,要遵循什么程序?我应该这样做还是为什么不这样做?
angularjs - AngularJS 和 ng-repeat 元素在 DOM 中尚不存在 - 获取 NULL exepction
所以我试图使用一个外部库函数在我的 ng-repeat 连接到的一个控制器中的 DOM 中创建一些操作。问题如下:
我在我的控制器中调用该外部函数,该函数将元素添加到 ng-repeat 数组中,从而将新元素添加到 DOM 中。但是,当我在控制器内部时,该元素还不存在,即使我已将其添加到数组中。一旦元素实际附加到 DOM,而不是实际添加到控制 ng-repeat 的数组中,如何绑定要调用的外部函数?
我想在元素实际创建后触发事件。有什么建议么?
让我知道你是否想看看这个想法。
angularjs - AngularJS - 如何避免使用 $timeout 来等待创建元素?
这是想法:
所以我试图使用一个外部库函数在我的 ng-repeat 连接到的一个控制器中的 DOM 中创建一些操作。
最新的 jsFiddle 工作但......
http://jsfiddle.net/GeorgiAngelov/KRbdL/150/
所以基本上我得到了@BrandonTilley 的帮助,但我试图避免使用 $timeout 因为我不认为这是一个可行的解决方案,而是一个 hack。
在@BrandonTilley 的帮助下制作新小提琴
添加了 onload 侦听器,我也试图通过 getElementById 获取新元素或其父元素,但它返回的只是 NULL。
http://jsfiddle.net/GeorgiAngelov/KRbdL/143/
问题如下:我在控制器中调用该外部函数,该函数将元素添加到 ng-repeat 数组中,从而将新元素添加到 DOM 中。但是,当我在控制器内部时,该元素还不存在,即使我已将其添加到数组中。
一旦元素实际附加到 DOM,而不是实际添加到控制 ng-repeat 的数组中,如何绑定要调用的外部函数?
问题来了,我有模板 1 调用模板 2,然后模板 2 调用模板 3,然后模板 3 调用模板 2,一旦模板 3 完成渲染模板 2,我想将模板 3 中的一个元素连接到模板 2。
我创建了一个链接到 template3 的指令,我使用了 $last 属性,但它仍然无法正常工作,因为 template3 加载但我不知道 template2 何时完成加载。此外,element.ready() 甚至没有启动。我还尝试使用 $timeout 来破解它并删除 element.ready,但它仍然给了我子元素尚不存在的错误。我不想使用 $timeout ,所以我正在寻找一个更实用的解决方案来解决我的问题。
此外,当我调用该函数以创建新的第一级元素时,我尝试调用 jsPlumb 库,但它未定义 parentNode。我在 addChild 函数中将其注释掉。
ng-repeat ng-include=template2 模板 3 中使用的指令
这是我为帮助您可视化我要完成的内容而制作的图表(查看右上角的文字)
angularjs - AngularJS - 创建一个指令以在当前元素附加到 DOM 时触发事件(函数)
我试图找到一种方法来检测元素何时最终附加到 DOM?是否有任何指令可以创建并附加到该元素,以便检测附加的时刻?通过创建元素,我的意思是 ng-repeat,而 onload 和 $last 对我不起作用。
angularjs - AngularJS - 使用控制器时停止工作
所以我现在才开始接触 angularJS,在我开始使用带有 ng-repeat 的控制器之前,测试一切都很好。似乎当我使用它时它只是没有连接到控制器。
我检查了一切。范围很好,angular.js 库的位置很好,但由于某种原因列表不会显示。这甚至发生在一些复制粘贴示例中,因为我用这些示例查看我想出的内容是否有错误,还使用了旧版本的库,效果相同,列表中没有任何内容。
javascript - 如何根据文档创建 AngularJS 控制器
我是 AngularJS 的新手,我试图弄清楚为什么某些文档代码对我不起作用。虽然下面的全局函数控制器对我有用,但文档说我应该通过 Angular 模块创建控制器。
工作 JS 控制器:
损坏的 JS 控制器:
HTML 文件:
angularjs - AngularJS - 当 ng-view ng-repeat 依赖于 $routeParams 时“达到 10 个 $digest() 迭代”
我对 Angular 很陌生,这是我第一次处理路由,所以如果我的问题有点令人困惑,请原谅。这个应用程序的实际逻辑和结构要复杂得多,并且我正在使用多种服务,但这是我遇到问题的部分的总体思路。我将衷心感谢您的帮助!谢谢。
解决了
我正在递归地添加相同的模板。在模板中,我将 ng-repeat 模板更改为另一个模板,它运行良好。 http://jsfiddle.net/GeorgiAngelov/9yN3Z/111/
更新的 jsFiddle:http: //jsfiddle.net/GeorgiAngelov/9yN3Z/106/
感谢Chandermani,我更新了我的小提琴(我删除了所有控制器并只留下了一个副本)但现在每当我单击“添加根”按钮或单击某个部分时,我都会得到“10 $digest() 迭代”一直给我那个错误......不知道为什么。
所以我有一个应用程序,我的左侧有一个菜单,我可以在该菜单中添加更多称为部分的元素。该菜单部分项源自位于我的控制器中的名为sections的数组,当您添加一个部分时,它会将其添加到名为sections的数组中。
*部分的 HTML *
该数组中的每个对象都有另一个名为 root 的数组和另一个名为Add Root的按钮,我想将对象(元素)推送到我当前所在的任何部分,具体取决于 $routeParams id 变量。
从路由器调用的 HTML 模板
angularjs - AngularJS控制器或指令中的Jquery动画?
我在 AngularJS 中有一个应用程序,在我的一个观点中,我想实现一些 JQuery 动画..没什么太花哨的..只是隐藏/滑动 div ..这些 div 是从 ng-reapet 循环创建的,我需要访问 DOM元素以编写我的 JQuery 。我应该把我的代码控制器或指令放在哪里?我的代码示例: