问题标签 [angular2-services]

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 投票
2 回答
21240 浏览

typescript - Angular 2服务未注入组件

我在 Angular2 (2.0.0-beta.0) 应用程序中定义了一项服务。是这样的:

我将它列在我的主应用程序文件的 bootstrap() 函数中,以便它通常可用于我的代码:

有时我无法在组件中使用该服务,即使我myService:MyService在组件constructor()功能中有类似的东西,如下所示:

在其他地方它工作正常。在它不起作用的地方,如果我尝试访问它,我会收到一条消息:

这基本上意味着服务没有被注入。

是什么导致它无法注入?

0 投票
1 回答
701 浏览

angular - Angula2 将模板变量绑定到服务

我试图简单地将Angular2中模板中的变量绑定到服务的变量。该服务应该通过 http 加载数据,然后再次相应地更新模板中的视图(我假设更改检测应该这样做,绑定也应该这样做)。然而我无法让它发挥作用。显示服务中变量的初始值。http请求也被执行,恕我直言,再次设置变量。然而视图没有更新。

使用简单的 boot.ts 引导应用程序

我为此 http://plnkr.co/edit/75VVjEUSflbvh3oG8Kwk?p=preview创建了一个 plunker,该服务只需请求 IP,然后应该更新显示 - 但这仍然是原始值(评估)。这在 Angular 1 中很简单直接,我不确定我在这里做错了什么才能在 Angular 2 中获得相同的结果。

0 投票
1 回答
402 浏览

angular - 将Http注入服务时Angular2 [typescript]错误

有问题的来源:https ://github.com/clicman/angular2-app/

我试图将 Http 注入到服务中,但它会导致错误:

服务代码:

我做错了什么?

0 投票
2 回答
5726 浏览

javascript - Angular 2:{{object}} 有效,{{object.child}} 抛出错误

使用 Angular v1 已经有一段时间了,自从 Angular v2 进入 Beta 版以来,一直在玩这个。

现在我得到了这段代码,但不能让它工作,真的不知道为什么。不知何故,当我打印{{profileUser | json}}一切正常(profileUser 是一个对象)。

但是当我想打印该对象的子对象(例如{{profileUser.name}}or {{profileUser.name.firstName}})时,Angular 会抛出以下错误:

EXEPTION: TypeError: undefined is not an object (evaluating 'l_profileUser0.name') in [ {{profileUser.name}} in ProfileComponent@4:11.

这对我来说真的很困惑,应该只是最简单的事情之一.. 刚开始使用 TypeScript 顺便说一句..

这是一些代码 - ProfileService.ts

这是我的ProfileComponent

最后是profile.html模板:

或者..

或者..

仅供参考,profileUser 看起来像这样:

如果有人可以帮助我,那就太好了,这真的阻碍了我熟悉 Angular v2。谢谢!

0 投票
1 回答
293 浏览

javascript - 如何将角 alpha 2 转换为角 beta?

这个特殊的Plunker是用 alpha.45 编写的。

我已经用 angular beta 编写了一个成功的plunker

我正在尝试结合这两个代码示例。一般来说,我认为通过改变它会很简单

可能会有一些其他的变化,但 HTTP BINDINGS 似乎存在一个严重的问题。

在我的本地我得到

错误:未定义 HTTP_BINDINGS 加载错误

angular.io 文档中的实时示例引用了 alpha.37。我似乎无法正确加载这些 Http 绑定。

经过一些详尽的谷歌搜索后,我似乎无法找到答案。

更新:

我停止使用 Plunker 并尝试关注 Eric 的评论。

这是我的 app.component.ts

这是我的 boot.ts

和 peopleService.ts

这些是我在控制台中遇到的错误:

“网络错误:404 未找到 - http://127.0.0.1/angular2/http

错误:XHR 错误(404 未找到)加载 http://127.0.0.1/angular2/http 错误 从http://127.0.0.1/app加载http://127.0.0.1/angular2/http作为“angular2/http” /app.component.js

0 投票
2 回答
1618 浏览

typescript - Angular 2 HTTP GET 等效于 Angular HTTP GET

希望有人可以为我澄清一些事情。我现在正在做什么,使用 Angular 1.4.6:

我创建一个服务

并在我的控制器中使用/注入它。

我开始玩 angular2 beta 并在 http.get 上找到了以下示例

我构建了一些其他方法并进行了一些测试并进行了很多搜索,但在使用 angular2 beta 和 typescript 创建服务时找不到任何类似的东西,就像我到目前为止所做的那样。是否有必要这样做。或者这不是现在使用 Angular2 beta 的方式吗?

先感谢您。

0 投票
1 回答
1468 浏览

javascript - 如何在纯 ES5(Javascript)中向 Angular 组件注入自定义服务?

我有一个工作 angular2 Component。我为某些服务实现了一个类(ng.core.Class如果重要则使用)。将我的服务注入我的服务的最小步骤是什么Component?我应该将我的服务包含在引导功能中吗?到目前为止,我应该使用任何一个ng.core.Inject还是ng.core.Injectable?所有我的实验都失败了。

0 投票
1 回答
542 浏览

javascript - Angular2 - 没有 ExceptionHandler 的提供者

我正在尝试将 angular2 集成到我的 PHP 应用程序中。这是我执行的步骤

  1. 包括必要的JS:

../node_modules/angular2/bundles/angular2-polyfills.js ../node_modules/systemjs/dist/system.src.js ../node_modules/typescript/lib/typescript.js ../node_modules/rxjs/bundles/Rx.js ../node_modules/angular2/bundles/angular2.dev.js

  1. 在 Typescript 中创建 angular2 组件:

import {Component} from 'angular2/core'; @Component({ selector: 'hello-world', template: 'My First Angular 2 App' })
export class AppComponent { }

  1. 配置:

<script> System.config({ transpiler: 'typescript', typescriptOptions: { emitDecoratorMetadata: true } }); </script>

  1. 引导程序:

<script> System.import('angular2/platform/browser').then(function(ng){ System.import('js/app.ts').then(function(src) { ng.bootstrap(src.AppComponent); }).then(null, console.error.bind(console)); }); </script>

输出: 在此处输入图像描述

编辑:

看来prototype.js和angular 2有冲突。见pluker:http ://plnkr.co/edit/XKKpriTPrTX3tXqqz8v2?p=preview

0 投票
5 回答
60549 浏览

angular - 在 Angular 2 的多个组件中全局持久化和访问值

我有一个设置页面,用户可以在其中保存一些配置变量,例如用户名。用户还可以更改该页面上的用户名。但是当我转到另一个组件(页面)并返回时,不会保存用户名。

我还想在其他组件中显示用户名。我怎么做?使用全局变量?

结构: - App - app.ts(主) - setting.ts - someOtherComponent.ts

0 投票
2 回答
5188 浏览

angular - 如何使组件在 Angular2 中普遍可访问

我基本上想创建一个自定义对话框组件,无论使用组件在应用程序树中的哪个位置,我都可以在 Angular2 应用程序的任何位置使用它。为简单起见,我们将其称为我的 SayHello 组件。

考虑以下应用程序树:在此处输入图像描述

因此,假设我希望SomeComponent.level3.component调用SayHello.component中的对话框。

在 Angular 1.x 中,我会将 RootScope 注入控制器并以这种方式点亮一个对话框。现在,我(或多或少)了解,对于 Angular2,您可以在组件树中冒泡事件(使用事件发射器),但是从 SomeComponent.level3.component 向上冒泡事件并向下到 SayHello 似乎很乏味。零件。

所以我想我会创建一个 SayHello 服务,我会在任何我想点亮我的对话框的地方注入它。这是我制定的代码的草图。

myApp.component.ts

SayHelloService.ts

SayHello.component.ts

SomeComponent.level3.component

appBoot.ts

不用说,这是行不通的。我没有收到任何错误,但 SayHello.component 没有检测到“showdialog”值的任何变化……所以什么也没有发生。任何关于如何正确执行此操作的想法将不胜感激。