标签: angular2-services

Angular 2:{{object}}起作用,{{object.child}}抛出错误

已经和Angular v1合作已经有一段时间了,自从Angular v2进入测试版以来,我一直在玩这个游戏.

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

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

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

这对我来说真的很混乱,应该只是最简单的事情之一..刚开始使用TypeScript btw ..

这是一些代码 - ProfileService.ts:

import { Injectable } from 'angular2/core';
import { Headers } from 'angular2/http';
import { API_PREFIX } from '../constants/constants';
import { AuthHttp } from 'angular2-jwt/angular2-jwt';
import 'rxjs/add/operator/map';

@Injectable()
export class ProfileService {

  API_PREFIX = API_PREFIX;

  constructor(private _authHttp:AuthHttp) {
  }

  getProfileData(username:string):any {
    return new Promise((resolve, reject) => …
Run Code Online (Sandbox Code Playgroud)

javascript angular2-services angular

7
推荐指数
1
解决办法
5483
查看次数

Angular 2 @Injectable() - 它是如何工作的

我试图理解@Injectable()在角度2 中添加服务中装饰的必要性.

从文档:https://angular.io/docs/ts/latest/guide/dependency-injection.html

为什么我们不将@Injectable()添加到HeroesComponent?如果我们真的想要,我们可以添加它.没有必要,因为HeroesComponent已经用@Component修饰.TypeScript使用装饰器为任何类生成元数据,任何装饰器都可以.

所以基本上你只需要添加,@Injectable()如果没有其他装饰可用,因为如果有任何类型的装饰可用,typescript编译器将根据你在构造函数中传递的变量自动生成依赖信息,例如:constructor(private logger: Logger)

这是正确的吗?谢谢

dependency-injection angular2-services angular

7
推荐指数
1
解决办法
1639
查看次数

Angular 2媒体查询

我想知道Angular 2提供了一种确定客户端设备(大屏幕,中等或小屏幕)的方法,或者可能是屏幕宽度,基本上可以显示或隐藏某些内容(从dom中删除).

angular2-template angular2-services angular

7
推荐指数
2
解决办法
5724
查看次数

Angular 2 HTTPS请求

如何从角度2配置和发出https请求?找不到任何资源.可以请有人在这里指导我吗?谢谢.

angular2-services angular2-http angular

7
推荐指数
2
解决办法
2万
查看次数

在Angular服务中获取Subject.asObservable()的当前值

我想在Angular2服务中编写一个简单的切换.

因此,我需要Subject观察的当前值(见下文).

import {Injectable} from 'angular2/core';
import {Subject} from 'rxjs/Subject';

@Injectable()

export class SettingsService {

  private _panelOpened = new Subject<boolean>();
  panelOpened$ = this._panelOpened.asObservable();

  togglePanel() {
    this._panelOpened.next(!this.panelOpened$);
  }

}
Run Code Online (Sandbox Code Playgroud)

如何从_panelOpened/panelOpened $中获取当前值?

谢谢.

subject rxjs typescript angular2-services angular

6
推荐指数
1
解决办法
2万
查看次数

DomSanitizationService不是一个函数

正如人们总是说没有一个被称为愚蠢问题的问题.

我现在正在学习Angular 2.0官方教程.正如我从packageconfig文件中看到的那样,它正在使用rc2.0.我试图压制框架工作抱怨iFrame标签中的"不安全"网址.

我已经检查了此Stack Overflow Question中的指令, 并按照LIVE Plunker中显示的所有内容进行操作.

我的VS代码在编译时没有抱怨任何内容,但是从Chrome检查器我可以看到错误.

在此输入图像描述

以下是我项目的TS文件.

import { Component, OnInit, OnDestroy } from '@angular/core';
import { Router, ActivatedRoute }       from '@angular/router';
import { ParcelsService } from './parcels.service';
import { SafeResourceUrl, DomSanitizationService } from '@angular/platform-browser';
import { Parcel } from './mock-parcels';
@Component({
  template: `
  <h2>Parcels</h2>
  <div *ngIf="parcel">
    <h3>"{{parcel.checkUrl}}"</h3>
    <iframe width=800 height=500 src="{{safeUrl}}}"></iframe>

    <p>
      <button (click)="gotoHeroes()">Back</button>
    </p>
  </div>
  `,
  providers:[ParcelsService, DomSanitizationService]
})
export class HeroDetailComponent implements OnInit, OnDestroy  {
  parcel: Parcel;
  safeUrl : SafeResourceUrl;
  private sub: …
Run Code Online (Sandbox Code Playgroud)

angularjs angular2-services angular

6
推荐指数
1
解决办法
8085
查看次数

Http获取404 Not Found for URL:null

我试过像英雄之旅这样的示例应用程序.

我试图将服务cal转换为http get(InMemoryDbService),如下所示

hero.service.ts

import {Injectable} from '@angular/core';
import {HttpModule, Headers, Http} from '@angular/http';
import 'rxjs/add/operator/toPromise';

import {Hero} from './hero';

@Injectable()
export class HeroService {

    private heroesUrl = 'app/heroes'; 

    constructor(private http : Http) { }

    // working code
    //getHeroes(): Promise<Hero[]> {
    //    return Promise.resolve(HEROS);
    //}

    getHeroes(): Promise<Hero[]> {
        debugger;
        return this.http.get(this.heroesUrl).toPromise().then(responce => responce.json().data as Hero[]).catch(this.handleError);

    }
    private handleError(error: any): Promise<any> {
        console.error('An error occurred', error); // for demo purposes only
        return Promise.reject(error.message || error);
    }
}
Run Code Online (Sandbox Code Playgroud)

内存-data.service.ts

    import {InMemoryDbService} from …
Run Code Online (Sandbox Code Playgroud)

angular2-services angular

6
推荐指数
1
解决办法
2089
查看次数

在Angular 2应用程序中导入AWS SDK

我试图在我的Angular 2应用程序中使用AWS SDK,但是我很困难.以下是我采取的步骤:

  1. 使用将aws sdk安装到我的Angular 2应用程序中 npm install aws-sdk
  2. 使用安装类型 npm install --save-dev @types/node
  3. 试图在我的Angular 2服务中以几种不同的方式包含AWS模块:declare var AWS: any;,import AWS = require('aws-sdk');最后import * as AWS from 'aws-sdk';.

当我尝试使用第一种和第三种类型的导入时,在尝试访问AWS对象中的库之前,我没有得到转换器错误,即AWS.config.region = 'us-west-2给我错误';' expected..当我尝试使用第二种方法时,我收到错误:

定位ECMAScript 2015模块时,无法使用导入分配.考虑使用'import*as ns from"mod"','import {a} from"mod"','import d from"mod"'或其他模块格式.)

我错过了一步吗?我看过github项目https://github.com/awslabs/aws-cognito-angular2-quickstart/blob/master/src/app/service/aws.service.ts但是他们的项目没有解释他们是怎么回事导入了SDK.

javascript aws-sdk angular2-services

6
推荐指数
2
解决办法
3522
查看次数

如何将ngFor循环的索引值传递给组件?

我的代码中有一个ngFor循环.在这个ngFor循环里面我有一个div,点击这个div我想把索引值传递给类型脚本文件.

我是Anglular 2的新手,我们将不胜感激.

例如:

`<div *ngFor="let y of characters;let i = index">
    <div (click)="passIndexValue()">
    </div>
<div>`
Run Code Online (Sandbox Code Playgroud)

typescript angular2-services angular

6
推荐指数
1
解决办法
3万
查看次数

在Angular 2中使服务变量全局化

如何在Angular 2中的服务中将变量作为全局变量,以便两个不同的组件可以访问和修改它?

public myMap : Map<string, string> = new Map<string, string>();
Run Code Online (Sandbox Code Playgroud)

这是服务中的地图,我最初使用组件填充它.现在,在应用程序中一段时间​​后,我需要使用不同的组件访问相同的填充映射.我怎样才能做到这一点?

当我使用其他组件访问地图时,它显示为未定义.

angular2-services angular

6
推荐指数
2
解决办法
2万
查看次数