问题标签 [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.
angularjs - 在Angular中使用controllerAs语法时如何在父范围上对变量进行单元测试?
我正在尝试对使用 AngularcontrollerAs
语法的控制器进行单元测试。我还使用它来访问父作用域中的变量。例如,如果父控制器被调用parent
,而子控制器被调用child
,那么在孩子的视图中我会做 eg ng-if="parent.model.age > 12"
。
现在,我想对此进行单元测试。我在单元测试中创建了控制器,如下所示:
但据我所知,这不允许我访问 ParentController 上的变量?有没有办法在 Angular 中做到这一点?
javascript - 为 AngularJS Web App 导入 JSON 数据
我一直在关注 Angular 教程,我试图让我的 JSON 数据出现,但我知道我做错了什么,但无法找出正确的方法。
我知道app.js
我范围内的某个地方搞砸了。
如何显示Family Name
每个产品的?
这是我的布局:
应用程序.js
HTML
JSON 布局
javascript - 在控制器内使用 this 而不是 $scope
我正在尝试遵循 Angular 的样式指南,并写道我们应该使用this
insted scope
...
当我能够使用时,有人可以解释我this
吗?
这是我的尝试.....我做错了什么?
我正在尝试切换表单....这是我的 html 代码:
使用经典$scope
我会在我的控制器中这样做:
但this
它应该看起来像这样(但不工作):
任何人都可以帮助我理解这一点吗?
javascript - 为什么这个控制器只实例化一次?
我有以下(也在Plunker):
查看控制台,我只看到一条消息controller instantiated
,并且只有第二个收件箱下方打印了绑定值:
我期待两个单独的控制器被实例化,实际上在填充值之后似乎有两个独立的范围,但是我无法解释初始状态。
javascript - 在“同一控制器中的模态”方法的情况下,如何在 AngularJS 模态中使用 controllerAs 语法
这是我的模态函数:
我不想为我的模态设置另一个控制器,这就是为什么我只给我的 $scope 作为参数,而不是单独映射参数。所以在视图方面,我可以使用所有的 $scope 变量。
昨天我将控制器更新为 controllerAs 语法,如下所示:
现在我怎样才能使这个模态函数适应这个新语法?我面临的挑战是:我不止一次地重用模态窗口的视图,也在我的主视图上(没有模态)。而且这个视图已经适应了新的语法“vm.data”而不是“data”。
我试图将我的 vm 作为范围,但它不起作用。我该如何处理?
编辑:
我已将我的功能更改为:
所以我添加了这一行:
现在看来还可以。但我仍然必须使用作用域中的想法和下一个状态变量。我怎样才能使用来自 vm 的那些?
javascript - Ng-Click 未触发
每当我点击我的提交按钮时,什么都没有发生,目前我想做的就是打印出用户名和密码来测试那里的绑定。而且我能够与控制器交谈并打印出我在控制器中制作的硬编码消息,似乎 ng-click 不会在该方法上触发。任何帮助都会很棒,谢谢:D
和控制器类
angularjs - 使用“controller as”语法时指令的共享范围
这是一个使用指令的简单示例(改编自官方指南) - JSFiddle
上述指令与其父控制器具有相同的范围。我怎样才能将控制器作为语法做同样的事情?
可以使用隔离范围执行此操作,但我正在寻找一种解决方案,您不会为指令创建单独的范围。有可能吗?
我尝试了controllerAs,bindToController和require: '^ngController' 中的所有内容,但没有成功。
angularjs - Angular Js中的这个示例代码有什么问题
我正在学习 angularJS。我尝试过使用 angularJS 的计算器。两个组合框有输入,另一个组合框有操作。当用户单击按钮时,它必须根据用户选择的操作显示结果。但我无法找到为什么它没有显示任何输出。请你帮助我好吗
谢谢马尼文南
angularjs - Angular 和 ngDialog 问题,尽管对话框正确显示,但数据未显示
我正在使用 Angular / Typescript 和 ng-Dialog。在这个阶段,ng-Dialog 以我想要的方式正确显示模板。但是,没有显示数据。场景是这样的:我有一个显示所有联系人列表的详细信息页面。用户单击一个联系人,它调用 ContactController.selectRecord 函数并传递所选行的索引。此函数找到指定的联系人并弹出对话框(到此阶段一切正常,包括数据)。但是,当弹出对话框时,不会显示这些值。代码如下(为简洁起见,已对代码进行了修剪):
}
_MaintainContat.Html 中的代码是(为简洁起见进行了修剪):
我玩过 ng-dialog 的许多选项,即控制器:this 或 controller:“ContactController”,controllerAs:“ContactController as VM”,甚至 controllerAs:“VM”,但它们都不起作用。
任何人都可以让我知道丢失的位。任何意见将不胜感激。
下一步是将 _MaintainContat.Html 中的更新数据传递回 ContactController。
任何帮助将不胜感激。
非常感谢
angularjs - 将 ControllerAS 与 $scope 混合
对于所有新工作,我使用ControllerAs
语法,以便我可以vm
在我的视图中引用控制器。这是伟大的。
但是,我仍然有很大一部分使用该$scope
语法的旧代码。特别是我的指令之一,ng-click="groupClick"
它通常会调用父控制器的groupClick
函数。$scope
这个视图是用ContollerAs
语法构建的,所以它不再起作用了。
现有代码如下所示(简化)
如何让<a>
(通过我无法更改的模板提供)调用vm.groupClick
. 理想情况下,我不想仅仅为了开始工作而添加$scope
到我的控制器中groupClick
我的控制器代码: