小编use*_*579的帖子

Angular 2将Component动态添加到DOM或模板

如果调用show(),我打算在DOM中添加一个动态组件.我知道有一个使用ngIf或[hidden]的解决方案来隐藏它并将其用作指令,但我不是这个解决方案的粉丝,因为我不想在我的HTML中声明它.

  import {Component} from 'angular2/core';
  import {InfoData} from '../../model/InfoData';

  @Component({
    selector: 'Info',
    templateUrl: './components/pipes&parts/info.html',
    styleUrls: ['./components/pipes&parts/info.css']
  })

  export class Info{
    infoData: InfoData;

    public show(infoData: InfoData) {
      this.infoData= infoData;
      document.body.appendChild(elemDiv); <----- Here?
    }
  }
Run Code Online (Sandbox Code Playgroud)

然后我将其声明为提供者,因此我可以调用show().

  import {Component} from 'angular2/core';
  import {Info} from './components/pipes&parts/Info';

  @Component({
    selector: 'Admin',
    templateUrl: './Admin.html',
    styleUrls: ['./Admin.css'],
    directives: [Info],
    providers: [Info]
  })

  export class Admin {
    constructor(private info: Info) {
    info.show(); <---- append the Info Element to DOM
  }
Run Code Online (Sandbox Code Playgroud)

javascript components angular

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

注入JSONP的脚本没有调用回调

我正在尝试从Rest Api获取数据:

我试过以下:

var headers: Headers= new Headers({  'dataType': 'jsonp'});
    let options = new RequestOptions({ headers: headers });

    return this.http.get('http://aaaddds.de/redmine/issues.json?limit=1200&callback=JSONP_CALLBACK', options)
      .map(this.extractData);
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为:

 No 'Access-Control-Allow-Origin' header
Run Code Online (Sandbox Code Playgroud)

所以当我尝试JSONP时

let params = new URLSearchParams();
params.set('callback', 'JSONP_CALLBACK');
params.set('project_id', '7');
params.set('key', '42d3db30ab061a9f630df1f476c4d127f98d5ad2');
params.set('limit', '1200');


return this.jsonp.get('http://aaaddds.de/redmine/issues.json', { search: params })
  .map(this.extractData);
Run Code Online (Sandbox Code Playgroud)

它说 :

未捕获的ReferenceError:未定义__ng_jsonp____req0finished JSONP注入脚本未调用回调

当我做一个Jquery ajax得到它的工作原理:

   $.ajax({

      url: url,
      type: 'GET',
      dataType: 'jsonp',
      success: function (datsa: any) {
        console.log(datsa);
      },
      error: function (e : any) { alert(e.toString) },
    });
Run Code Online (Sandbox Code Playgroud)

jsonp angular

5
推荐指数
1
解决办法
7871
查看次数

无法解析路由器CanActivate的所有参数

我试图实施授权保护https://angular.io/docs/ts/latest/guide/router.html#!#can-activate-child-guard

但我得到一个DI错误,我真的不知道为什么我注入UserService了我的模块.

RouteGuard在全球模块中宣布,我UserService也是

  @NgModule({
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  imports: [
   TranslateModule
  ],
  exports: [
    LoadingComponent,
         ],
  declarations: [
    LoadingComponent,

  ],
  entryComponents: [],
  providers: [UserService,RouteGuard]
})
export class GlobalModule { }
Run Code Online (Sandbox Code Playgroud)

错误:

   Uncaught SyntaxError {__zone_symbol__error: Error: Can't resolve all parameters for RouteGuard: ([object Object], ?).
    at SyntaxError.ZoneAwa…, _nativeError: ZoneAwareError}
Run Code Online (Sandbox Code Playgroud)

import { ParentClass } from 'components';
import { Injectable } from '@angular/core';
import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { UserService } from …
Run Code Online (Sandbox Code Playgroud)

angular2-guards angular

5
推荐指数
0
解决办法
1070
查看次数

ngFor与数据绑定?

我有一个*ngFor,我获取一个英雄列表.现在,如果我改变英雄的价值,我的英雄也应该改变,你怎么做,最好的方式......

     <li *ngFor="#hero of heroes">
      <input type="text" [value]="hero.name"/>
    </li>
Run Code Online (Sandbox Code Playgroud)

我只知道制作一个(更改)="​​UpdateListByItem(item)"的方法来调用一个方法,但是没有办法为所有项目制作一个双向数据绑定?

data-binding typescript angular

4
推荐指数
1
解决办法
3674
查看次数

找不到BadRequest方法

我看了这个消息

https://github.com/aspnet/Announcements/issues/153

HttpBadRequest 就是现在 BadRequest

但是我找不到BadRequest 方法以及this.Ok(Object)方法发生了什么?

asp.net-core

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

完成加载后获取图像大小

是否有可能获得我尝试跟随的图像的大小,但我的$ event变量显示我一个数组

<img  src="image.png" (load)="dosomething($event)" />
Run Code Online (Sandbox Code Playgroud)

image angular

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

创建一个同步的http.get()

我试图通过promises和http.get处理登录,但我失败了,我得到以下错误:

对象不支持属性或方法'toPromise'

我的代码是:

return this.http.get('http://localhost:5000/login/', {
  headers: authHeader
}).map((response) => {
  return response.json()
}).toPromise(null);
Run Code Online (Sandbox Code Playgroud)

我得到了:

https://github.com/johnpapa/angular2-there-and-back-again/blob/master/src/app/core/character.service.ts

更新:

JohnPapa将他的项目更新为我的朋友

https://github.com/johnpapa/angular2-there-and-back-again/blob/master/app/core/character.service.ts

http typescript angular

0
推荐指数
1
解决办法
5294
查看次数