问题标签 [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 投票
0 回答
110 浏览

angularjs - 在Angular中使用controllerAs语法时如何在父范围上对变量进行单元测试?

我正在尝试对使用 AngularcontrollerAs语法的控制器进行单元测试。我还使用它来访问父作用域中的变量。例如,如果父控制器被调用parent,而子控制器被调用child,那么在孩子的视图中我会做 eg ng-if="parent.model.age > 12"

现在,我想对此进行单元测试。我在单元测试中创建了控制器,如下所示:

但据我所知,这不允许我访问 ParentController 上的变量?有没有办法在 Angular 中做到这一点?

0 投票
1 回答
2430 浏览

javascript - 为 AngularJS Web App 导入 JSON 数据

我一直在关注 Angular 教程,我试图让我的 JSON 数据出现,但我知道我做错了什么,但无法找出正确的方法。

我知道app.js我范围内的某个地方搞砸了。

如何显示Family Name每个产品的?

这是我的布局:

应用程序.js

HTML

JSON 布局

0 投票
2 回答
1837 浏览

javascript - 在控制器内使用 this 而不是 $scope

我正在尝试遵循 Angular 的样式指南,并写道我们应该使用thisinsted scope...

时尚指南

当我能够使用时,有人可以解释我this吗?

这是我的尝试.....我做错了什么?

我正在尝试切换表单....这是我的 html 代码:

使用经典$scope我会在我的控制器中这样做:

this它应该看起来像这样(但不工作):

任何人都可以帮助我理解这一点吗?

0 投票
2 回答
57 浏览

javascript - 为什么这个控制器只实例化一次?

我有以下(也在Plunker):

查看控制台,我只看到一条消息controller instantiated,并且只有第二个收件箱下方打印了绑定值:

在此处输入图像描述

我期待两个单独的控制器被实例化,实际上在填充值之后似乎有两个独立的范围,但是我无法解释初始状态。

0 投票
2 回答
497 浏览

javascript - 在“同一控制器中的模态”方法的情况下,如何在 AngularJS 模态中使用 controllerAs 语法

这是我的模态函数:

我不想为我的模态设置另一个控制器,这就是为什么我只给我的 $scope 作为参数,而不是单独映射参数。所以在视图方面,我可以使用所有的 $scope 变量。

昨天我将控制器更新为 controllerAs 语法,如下所示:

现在我怎样才能使这个模态函数适应这个新语法?我面临的挑战是:我不止一次地重用模态窗口的视图,也在我的主视图上(没有模态)。而且这个视图已经适应了新的语法“vm.data”而不是“data”。

我试图将我的 vm 作为范围,但它不起作用。我该如何处理?

编辑:

我已将我的功能更改为:

所以我添加了这一行:

现在看来还可以。但我仍然必须使用作用域中的想法和下一个状态变量。我怎样才能使用来自 vm 的那些?

0 投票
3 回答
438 浏览

javascript - Ng-Click 未触发

每当我点击我的提交按钮时,什么都没有发生,目前我想做的就是打印出用户名和密码来测试那里的绑定。而且我能够与控制器交谈并打印出我在控制器中制作的硬编码消息,似乎 ng-click 不会在该方法上触发。任何帮助都会很棒,谢谢:D

和控制器类

0 投票
1 回答
578 浏览

angularjs - 使用“controller as”语法时指令的共享范围

这是一个使用指令的简单示例(改编自官方指南) - JSFiddle

上述指令与其父控制器具有相同的范围。我怎样才能将控制器作为语法做同样的事情?

可以使用隔离范围执行此操作,但我正在寻找一种解决方案,您不会为指令创建单独的范围。有可能吗?

我尝试了controllerAsbindToControllerrequire: '^ngController' 中的所有内容,但没有成功。

0 投票
2 回答
104 浏览

angularjs - Angular Js中的这个示例代码有什么问题

我正在学习 angularJS。我尝试过使用 angularJS 的计算器。两个组合框有输入,另一个组合框有操作。当用户单击按钮时,它必须根据用户选择的操作显示结果。但我无法找到为什么它没有显示任何输出。请你帮助我好吗

谢谢马尼文南

0 投票
1 回答
879 浏览

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。

任何帮助将不胜感激。

非常感谢

0 投票
1 回答
412 浏览

angularjs - 将 ControllerAS 与 $scope 混合

对于所有新工作,我使用ControllerAs语法,以便我可以vm在我的视图中引用控制器。这是伟大的。

但是,我仍然有很大一部分使用该$scope语法的旧代码。特别是我的指令之一,ng-click="groupClick"它通常会调用父控制器的groupClick函数。$scope这个视图是用ContollerAs语法构建的,所以它不再起作用了。

现有代码如下所示(简化)

如何让<a>(通过我无法更改的模板提供)调用vm.groupClick. 理想情况下,我不想仅仅为了开始工作而添加$scope到我的控制器中groupClick

我的控制器代码: