问题标签 [angularjs-controlleras]

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 投票
1 回答
747 浏览

angularjs - AngularJs 中第一次加载时未初始化的指令参数

我已经创建了一个下拉指令,我试图在将参数传递给指令时分配方法,我将从控制器调用这些方法。但是在第一次加载时,我没有在控制器中获得分配方法,但是当我在第二次加载时分配它(即在下拉更改事件中)并且它工作正常。

首次加载后,如何在调用控制器中获取首次加载指令的方法。

这是指令:

这是调用控制器代码:

查看我使用指令的位置:

场景:如果在下拉更改事件的指令中第二次调用分配的方法,那么我可以在传递参数时获取这些方法。

IE

那么,我怎样才能在第一次加载指令时获得传递参数中分配的方法?

0 投票
0 回答
61 浏览

javascript - IE:Angular 控制器在其他 JavaScript 库中出现错误时失去作用域

我在 AngularJs 中使用 ControllerAs 语法。我面临的问题是,当其他 javascript 库调用并行运行的 jQuery 时,jQuery 库会引发错误,这会导致我的 ControllerAs 停止工作。请在下面找到我的代码

该代码在 Chrome 中正确运行,但在 IE 中不正确。

IE抛出的错误是

SCRIPT5022:InvalidCharacterError

chrome抛出的错误是

未捕获的 DOMException:无法在“元素”上执行“setAttribute”:“aria-expanded”不是有效的属性名称

我知道问题是要删除 aria-expanded 中的多余空格,但我无权更改该 javascript 库。

0 投票
1 回答
95 浏览

javascript - 从指令中的编译函数访问控制器

我已经搜索过了,唯一能想到的是我不了解编译功能如何工作的基本知识。

这是我所拥有的

这将显示:数据:并且似乎没有看到“someValue”变量。但是,当我使用范围而不是 controllerAs 语法时,它可以工作。

这显示:数据:23

我在这里缺少什么吗?我是否正确使用编译?手册似乎没有那么有用。

0 投票
0 回答
71 浏览

angularjs - 角度控制器和脏检查

在 AngularJS 中使用 controllerAs 语法时,控制器被添加到作用域中。

但是在执行脏检查时是否排除了它?

潜在的,控制器中的某些内容发生了变化,但对视图没有影响,并且不需要更新任何内容。

如果控制器没有被脏检查忽略它可能会触发不必要的更新,那么角度如何防止这种情况发生?

0 投票
2 回答
180 浏览

angularjs - 在 angularJS 中使用 controllerAS 的主要好处是什么

ng-controller="invoiceController as invoice" 创建新的 invoiceController 构造函数并将其分配给幕后的作用域,这与 $scope 注入在控制器函数参数中所做的类似

我对上述观点是否正确。

如果是,那么范围如何与此相关。请帮忙。

-- AngularJS 开发者指南 - 概念概述

0 投票
2 回答
334 浏览

angularjs - controllerAs、bindToController 和手表

我有这个指令,它有一个控制器。它看起来像这样:

控制器看起来像这样:

我一直在根据角度样式指南转换我的代码,并为我没有意识到存在的指令找到了一个新选项,称为bindToController。所以我正在尝试实现这一点。我已将我的指令转换为:

这已经干净多了。然后我尝试转换我的控制器:

但是我的手表有问题。它似乎没有改变选项。我已将选项添加到我的视图中,它返回:

{"slidesToShow":1,"centerPadding":0,"event":{}}

这很有趣,因为我只通过这个:

{ slidesToShow: 1, centerPadding: 0 }

所以它正在更新一点,但实际上并没有将方法绑定到事件对象。有谁知道为什么甚至如何让它工作?

0 投票
1 回答
104 浏览

angularjs - 如何使用量角器测试控制器作为语法?

我目前正在为应用程序编写一些量角器测试。但是在应用程序中,我使用控制器作为语法,因为我想要处理的部分是组件。问题是当我使用 "" $ctrl.functionName"" 的选择器时,它给了我一个非法的选择器语句。

有人对此有任何想法吗?

错误信息是

0 投票
2 回答
42 浏览

javascript - 使用“ControllerAs”时出错,但在 ng-repeat 复选框中使用“$scope”时工作正常

使用“$scope”语法时,检查单个复选框会正确输出其对应的对象名称,但是当将“ControllerAs”语法应用于相同代码时,检查单个复选框会异常生成错误

在 ControllerAs 中使用上述代码的表示

chrome 开发者工具返回错误

TypeError: vm.selected.indexOf 不是 GridController.vm.exist (gridController.js:37) 的函数

演示控制器作为,http ://plnkr.co/edit/5auLDGbpyDFUcpPxBzNs?p=preview

演示 $Scope,http ://plnkr.co/edit/2jz0ieeCWJE6tvzXK69A?p=preview

请问在这种情况下应用Controller As语法时可能是什么问题或可能是一个错误,谢谢

0 投票
2 回答
44 浏览

angularjs - 如何访问控制器中的控制器变量?

我用 yeoman 启动了一个应用程序,他使用“controllerAs”来启动 app.js..

我知道以这种方式我不使用$scope,但我必须使用来访问控制器的属性,但不知何故我无法想象这些变化......有人可以帮助我吗?

这是我所做的:

应用程序.js

控制器(主)

html

为什么 html 不能正确呈现适当的值,但它显示了括号?

0 投票
1 回答
407 浏览

javascript - 带有控制器的角度指令不起作用

我正在努力使角度指令与controllerAs一起工作。使用 $scope 时,一切都按预期工作,但是当摆脱 $scope 指令时,控制器不起作用。请参阅下面的代码和 plunker:http ://plnkr.co/edit/o3F4lUrxL4mK1DWSYsad 。为什么单击按钮时不显示该值?