问题标签 [angular-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.

0 投票
1 回答
110 浏览

javascript - 使用 Angular 在 AWS 上点击/使用 API 的正确方法是什么?

我正在加入一个新项目,并在 Angular 中构建一个全新的前端。现有项目具有前端应用程序将使用的 RESTful API(在 AWS 上)。

在以前的爱好项目中,设置是:

  • 客户端发出 GET 请求,该请求会点击 Angular Controller 中的一个功能
  • Angular Controller 验证请求的元素,然后调用 Angular Factory
  • Angular Factory 接受请求,并执行 $http.get 到 Express 路由
  • Express route 向外部 API url 发出实际请求,然后将响应返回给 Factory,Factory 再将响应传递给 Controller,然后返回到前端

这是构建这样的东西的正确方法吗?还是我应该寻找一种不同类型的设置来访问 AWS 上的现有 API?

0 投票
1 回答
666 浏览

angularjs - 使用 AngularJS 将服务注入到具有单独文件的控制器中

当我尝试将服务注入到我在下面代码中提到的单独文件中的控制器中时,我收到错误:

TypeError:myService.getData 不是 Object.e 的 new (controllers.js:18) 的函数 [as invoke] (angular.min.js:39) 的 M.instance (angular.min.js:80) 的 D (angular.min.js:61) 在 g (angular.min.js:55) 在 g (angular.min.js:55) 在 angular.min.js:54 在 angular.min.js:20 在 r。 $eval (angular.min.js:133) 在 r.$apply (angular.min.js:134)

索引.html

加载此html页面中的所有js文件

这是我们一次加载控制器和服务的主文件

myApp.js

服务.js

在这里我试图从服务器获取数据并想在控制器中使用

控制器.js

该文件包含所有逻辑并从 service.js 文件中注入 myService。我使用 service.js 中的 myService 并尝试获取数据,但一直出错

0 投票
3 回答
342 浏览

javascript - 如何将回调函数中的值从服务传递到控制器

如何使用控制器访问从服务返回的值。在我的代码 service.js 函数showInfo()返回 JSON 对象。但是我不能在这个函数之外访问这些对象。如果我尝试从 controller.js 执行 console.log

console.log(chartService.showInfo.new_data)

我明白了

错误无法读取未定义的属性“new_data”

如果我尝试,也会发生同样的情况

console.log(chartService.showInfo)

我得到undefined

如何从控制器访问函数 showInfo 内的 JSON 对象 new_data?

服务.js

控制器.js

0 投票
2 回答
800 浏览

javascript - AngularJS:如何在视图中将服务方法分配给控制器 $scope 和 ng-repeat (it)?

我正在尝试将功能与控制器分离并将其投入使用,这样我就可以在多个控制器中使用它,而无需在不同控制器之间添加相同的功能。

在我尝试使用服务对其进行配置之前,我的原始控制器工作正常,如下所示(colorController.js):

颜色控制器.js

下面是我尝试将其与服务和新控制器分开的代码

rangeService.service.js

rangeController.js

以上console.log($scope.range)的输出;是空数组[]

如果我将一些参数传递给 RangeService,如下所示:

然后我可以在浏览器中看到正确的输出。

现在我只需要在 colors.html 中执行这些参数,如下代码所示:

下面是html代码。

我在这里所做的只是从 ng-controller="ColorController" 到 ng-controller="RangeController"

颜色.html

0 投票
1 回答
349 浏览

javascript - Angular JS 阻止控制器在隐藏元素上运行

我有这个代码

显示第一个div带有控制器时child1Controller,控制器child2Controller也会运行是否正常?如果通过隐藏控制器,如何防止控制器运行ng-show="false"?我只需要parentControllerchild1Controller控制器在第一个div可见时运行。与第二个 div 可见时相同,parentController并且child1Controller控制器应该只有一个正在运行。

0 投票
2 回答
340 浏览

javascript - 为什么 AngularJS 指令适用于硬编码值但因 http 请求/响应而失败?

角度新手问题:

我有一个简单的 AngularJS 测试应用程序,它显示了控制器和指令如何协同工作。控制器设置一些硬编码值aBaC范围,然后指令在 HTML 中显示这些值。有用。这是JSFiddle。代码如下。当你运行它时,你可以看到控制台输出如预期的那样:

但是,当我将硬编码值更改为从测试 API 检索的值时,它会失败。控制台输出如下:

我所做的唯一更改(在这个新的JSFiddle中看到)是在控制器的myFunc函数中:我用以下内容替换了硬编码的值:

我已经通过测试 API 的响应curl,它工作正常。那么,为什么该指令将aB和的值报告aCundefined?我该如何解决这个问题?我可以说它与 HTTP 调用的异步特性有关。但我不知道如何使它正常工作。

HTML:

工作的Javascript:

更新: 克莱斯建议我使用这个JSFiddle。但这对我不起作用,因为我绝对需要在指令的控制器中访问aBaC我需要根据它们的值来改变模板。这个 JS Fiddle 似乎向他们展示了在那里总是未定义的。

0 投票
1 回答
294 浏览

javascript - AngularJS $scope 没有在 DOM 中更新

我有以下代码:

状态(为了简单起见,让我们简称)

控制器

模板.html

其他 html 部分

我的控制器上有一个scope变量。2 路绑定在与控制器一起声明的模板上运行良好。但不是在使用.stateng-controller

这是某种错误吗?还是我错过了什么?谢谢。

0 投票
1 回答
2092 浏览

angularjs - AngularJs - 将子模块注入其他子模块

我有一个听起来可能很愚蠢的场景,但我被困住并试图了解可能导致它不起作用的原因。

我有一个角度应用程序,现在有三个模块

我在我的父模块(即 mainApp)中设置了一些配置和默认字符串,我想在它的所有子模块中使用它们。

另一方面,我的 reviewModule 和 searchmodule(子模块)有单独的控制器和服务,我在不同的路线上使用它们。现在,当我想将一个模块的服务用于另一个模块时,问题就来了,例如,如果我执行以下操作

在我的搜索模块控制器中使用 reviewModule 服务,我得到一个异常,说

两个子模块具有相同的父模块,我想将一个子模块用于另一个子模块,但不明白为什么会出现此异常。

更新:

我什至尝试使用下面的行进行模块声明

但这也会导致异常。

0 投票
2 回答
96 浏览

angularjs - AngularError - app.controller(...) 不是函数

我想了解为什么这段代码有效,但是当它运行时,我收到一条消息:app.controller(...) 不是一个函数,我该如何修复它?

https://jsfiddle.net/andremiani/kac912ep/

0 投票
2 回答
323 浏览

angularjs - Angular,如何在 ng-repeat 之前将控制器分配给标记

谁能告诉我是否可以在 ng-repeat 做他的事情之前将一个控制器从指令分配给标记?

下面的代码只是我想要做的一个例子

普朗克

问题是当我的指令更改模板时,分配 ng-controller ng-repeat 已经编译,因此它不会显示任何数据。将 ng-controller 移动到标记上不是一个选项。

最好的。