问题标签 [angular-providers]

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

angularjs - 如何使用 `provider` 并检索 `controller` 中的数据

我正在尝试使用 aprovider在控制器中设置和获取值。但我不清楚如何使用provider这里。

任何人都可以帮助我使用providerwithconfig选项。我也想知道provider和之间的关系config

这是我的尝试,它会引发错误:

现场演示

0 投票
1 回答
69 浏览

javascript - 角度不同类型的提供者配置

从互联网上的不同资源中学习角度确实令人困惑。每个人都使用不同类型的模式来编写函数。请对这个 .provider概念有所了解

我尝试.provider了 4 种不同的模式,并且都在工作

模式A:使用里面的所有功能return


模式 B:使用this和区分 $get 和其他方法

模式 C :[ ]也可以在返回的函数之前使用数组找到某个地方


更新

模式 D:使用 .factory,然后使用functionNameProvider.$get.methodName()和 .config

然后

为此创建了一个jsfiddle,请告诉我哪种方法是正确/首选的?

0 投票
1 回答
1121 浏览

dependency-injection - Angular 2 嵌套注入

我正在为 angular2 的依赖注入而苦苦挣扎。在我的示例中,我有两个服务。

  • Service1 注入 Service2 并从中获取数据。
  • 一个组件注入 Service1 并从 Service1 获取数据

我必须在我的组件中提供 Service2

但为什么?我在Service1中注入了Service2。当我的组件中没有对 Service2 的引用时,为什么我必须在我的组件中提供 Service2?

我知道,我可以在我的 bootsrap 函数中提供服务,但我想为我的组件提供我的服务......

这是我的示例代码,由于缺少提供程序而无法正常工作

组件.ts

服务1.ts

服务2.ts

0 投票
1 回答
3633 浏览

angular - 何时使用 Angular 2 工厂函数?

我无法想象需要使用工厂供应商的情况。

根据官方文档https://angular.io/docs/ts/latest/guide/dependency-injection.html,情况是一个人可能无法从另一个服务service -a),但是,工厂功能确实(可以访问service-b)。那么,这样的事情何时会真正发生呢?

0 投票
2 回答
706 浏览

javascript - 为什么这个对 angular-google-maps 提供者的测试会失败?

我正在尝试测试一个使用angular-google-maps. 它失败了,因为angular.mock.inject找不到uiGmapGoogleMapApiProvider

我不知道出了什么问题。这是简化的测试用例:

整个东西都可以从GitHub作为一个准备运行的 Angular 项目获得。如果您发现问题,请在 Stack Overflow 上回答。如果您还向 GitHub 存储库提交拉取请求,则会获得奖励积分。

0 投票
1 回答
71 浏览

angularjs - 使用我自己的服务扩展输入

我想以角度扩展文本类型的输入,这样在用户输入一些文本后,文本值通过自定义过滤器传递,该过滤器在输入输入时进行一些净化,这是我到现在为止的内容,但我是收到错误:

这是我写的:

0 投票
1 回答
597 浏览

angular - Angular 2 组件未使用 *ngFor 和 Reactive Provider 进行更新

我正在尝试创建一个 Angular 2 Provider,它在使用响应式方法时执行所有 CRUD 操作。loadAll()但是,当我第一次调用时,我的 Ionic 应用程序会添加到我的列表中,但是this.children.next(children)之后我每次调用时,它都不会更新列表。

另外,我打电话this.childrenService.createChild(child),也没有孩子更新。

我的环境:

在 Windows 10 上运行并运行ionic --version给我2.0.0-beta.35

我的 package.json 的一部分

提供者类:

家庭组件

主页模板

添加子组件

更新:我只用 Angular 2(没有 Ionic 2)测试了我的反应式提供者,如果我在我的提供者中改变这两个东西:

当我将子项更改为 ReplaySubject 而不是主题时,以及this.loadAll()在为新子项调用的函数中调用时,子项列表在 Angular 中更新,但在我的 Ionic 应用程序中没有更新。

我确实注意到 curChildren(在函数中找到createStream)总是空的。我假设 curChildren 将是当前显示的那些。

它打印出所有预期的日志,说它创建了孩子,它正确地执行了发布请求,在我收到请求后,它说它通过流创建了孩子,但没有任何更新。

我认为这可能是 Ionic 没有通过流正确更新,或者我没有正确使用 rxjs。会是什么呢?

谢谢

0 投票
1 回答
331 浏览

javascript - AngularJs:插入对象时,myStorage 是未定义的错误

我是 Angular 新手,我正在尝试为我的 Angular 应用程序实现本地存储。我有基本的 CRUD 操作。当我insert()从控制器调用函数时,标题中出现错误,“myStorage 未定义”

MyApp.js

myStorage.js

ButtonCtrl.js

addData()函数中,该行将console.log($scope.store.dataStore);打印出空数组到控制台。但是当我尝试调用$scope.store.insert(o)时,控制台会抛出一个错误。

0 投票
1 回答
285 浏览

javascript - “Restangular”错误:$injector:modulerr 模块错误

我尝试在我的应用程序中使用 Angular 进行授权。我创建了 app.service 并注入了“Restangular”。我有这个错误

我在我的 html 页面中包含了所有文件

这是我的应用程序代码

蚂蚁这是 AuthService:

有人可以帮助我吗?什么问题?

0 投票
1 回答
803 浏览

angularjs - AngularJS - 使用提供者和注入进行业力测试

我在为包含一些注入的提供者编写单元测试用例时遇到了很多麻烦。

具体的提供者是:

基本的单元测试是:

我不断收到以下错误:

  • 错误:[$injector:unpr] 未知提供者:$stateProvider
  • 错误:[$injector:unpr] 未知提供者:$urlRouterProvider
  • 错误:[$injector:unpr] 未知提供者:routerHelperProvider

我尝试了几种不同的模块实例化和几种不同的注入,但我似乎无法使其工作。当我取出注入($stateProvider$urlRouterProvider$state时,单元测试很简单。