问题标签 [angular-factory]

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 回答
144 浏览

angular - 在angular4中使用工厂提供程序时如何访问数据?

当我有这样的提供者时

我可以通过在组件中这样使用来获得价值

服务看起来像这样

现在,我如何在使用工厂提供程序时获得价值,即

现在我给出这个例子只是为了简化场景,但不仅仅是传递字符串,我想在工厂内调用一些服务

我的问题是,是否可以访问该变量,如果没有,那么我将如何获得我将在组件中使用的值

0 投票
0 回答
309 浏览

angular - 了解 angular4 中的工厂提供程序参数

我对angular4中工厂提供者的参数感到困惑。假设我正在使用这样的工厂供应商

场景1

现在,useFactory 提供程序是一个函数,我们返回一个字符串

情景 2

如果我做同样的事情

我收到编译错误,我不应该收到编译错误,因为我所做的只是将一个函数传递给提供程序

情景 3

当我像这样改变我的功能时,它工作正常

谁能解释一下发生了什么,我错过了什么

0 投票
4 回答
84 浏览

angularjs - 在不同路由的控制器之间共享变量 - AngularJS

我是 Angularjs 的新手,我正在尝试构建我的第一个应用程序。假设我必须加载两个不同视图的路由:

  • 127.0.0.1:8080/站点
  • 127.0.0.1:8080/site_details

也许有两条不同的路线不是正确的程序,但这是另一个问题。

我有两个控制器: 控制器 1:

控制器 2

我想做的是在这两个控制器之间共享数据。为此,我以这种方式进行了服务:

通过环顾四周,似乎构建这样的服务应该可以解决问题。但是,我使用控制器 2 中的函数 get() 获得的总是一个空返回。通过设置断点,我可以看到 set() 和 get() 函数都进入了服务中各自的函数。

这是在属于不同路由的控制器之间共享数据的正确程序吗?

EDIT1 这两个视图以相同的方式构建,并在 ng-view 中加载

0 投票
3 回答
5868 浏览

javascript - Angular 中的工厂是什么

我正在阅读Max NgWizard K 的一篇文章,关于 Angular 如何更新 DOM。我遇到了以下情况:

对于应用程序中使用的每个组件,Angular 编译器都会生成一个工厂。当 Angular 从工厂创建组件时,Angular 使用这个工厂来实例化视图定义,而视图定义又用于创建组件视图。在引擎盖下,Angular 将应用程序表示为视图树。

在Max NgWizard KI 的另一篇文章中,找到了工厂的定义:

工厂描述组件视图的结构,并在实例化组件时使用。

我不太确定这是什么意思。

问题:

  1. Angular(2+)中的工厂到底是什么?
  2. 是否存在开发人员从了解其工作方式中受益的场景?
0 投票
0 回答
774 浏览

angular - Angular 5:组件工厂绑定

我正在使用一个组件工厂通过一个Block输入来加载不同的组件,该输入说明了块的特征 - 内部变量。然后,根据设置的变量,工厂将加载不同的组件。

这是我的工厂代码

然后,为了通过 HTML 调用这个工厂,我使用以下符号:

对应于块(保存与块相关的一些信息的newBlock类),因此取决于屏幕上的块的设置,看起来会有很大不同。

现在,这newBlock取决于人们从下拉框中选择的内容。请参阅以下功能:

一个相当简单的功能。现在,正如预期的那样,newBlock 不会更新它的新“外观”,因为如果它们不是静态组件,Angular 就无法确定任何绑定。我的问题是 - 我怎样才能使 Angulars 绑定功能?

0 投票
1 回答
206 浏览

angularjs - 如何在 Angular 中重用代码?

我有控制器,它获取一些数据并根据信息添加一些额外的项目。信息应该是可搜索的。我现在有工作代码,但想知道重用代码的最佳方法是什么?是指令吗?工厂?这是代码:

0 投票
1 回答
27 浏览

angularjs - 使用带有 $http 的角度工厂

我需要翻译价值工厂。这个工厂从服务器接收 translateData。和角度控制器调用 convertValue 函数。但 $http 是异步方法,因此控制器获得未定义的值。因为尚未收到 http 响应。

我想知道我可以工厂初始化完成(=从服务器下载数据)并按顺序创建控制器。

0 投票
0 回答
81 浏览

angularjs - 如何在角度 js 中以特定顺序获取数据

我目前有一个问题,我正在使用 Angular js 来获取和显示数据。以下是代码

我的控制器代码如下

问题是每次我在我的控制器中使用上述内容时,我总是以不同的顺序获取数据(异步)任何人都可以提出一种方法,我可以按照同步而不是异步的特定顺序获取数据

0 投票
1 回答
340 浏览

angular - 带有事件发射器的 Angular 动态 Html 模板组件

我正在尝试通过添加通用事件发射器来扩展此组件的功能

归功于原作者 https://gist.github.com/benjamincharity/8116414c7f38cffe3cef0e44fe44295d

所需事件的示例

我尝试将其添加到 htmlOutlet 类以及 DynamicComponent 我收到错误消息

这告诉我该函数在 componentFactory 中创建时没有正确添加到类中

任何 Angular 大师,能够对我如何让它发挥作用有所了解?

0 投票
4 回答
10155 浏览

angular - Angular:收集的元数据包含将在运行时报告的错误:不支持 Lambda

在我的 Angular 应用程序中,我试图在我的模块中使用工厂提供程序:

但这失败了:

为导出的符号“MyModule”生成的元数据中遇到错误:

收集的元数据包含将在运行时报告的错误:不支持 Lambda