小编plo*_*ne1的帖子

Angular2:父/子组件内的双向绑定

版本:"angular2":"2.0.0-beta.6"

我想在父/子组件案例中实现双向绑定.

在我的子组件上,我在编辑时使用双向绑定来显示文本.

子组件(InputTestComponent [selector:'input-test']):

<form (ngSubmit)="onSubmit()" #testform="ngForm">
    {{name}}
    <textarea #textarea [(ngModel)]="name" ngControl="name" name="name"></textarea>
    <button type="submit">Go</button>
</form>
Run Code Online (Sandbox Code Playgroud)

然后,我想将此更改传播到其父组件.我试过[(name)]="name"没有成功.

父组件:

<div>
  {{name}}
  <input-test [(name)]="name"></input-test>
</div>
Run Code Online (Sandbox Code Playgroud)

代码示例

最简单的方法是什么(不那么冗长)?

angular

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

如何在Angular 2中执行groupBy操作?

Angular 2:2.0.0-alpha.31/Typescript 1.5

我从http.get查询中请求了数据

this.http.get('/data/players.json')
                  .toRx()
                  .map((res) => res.json())
                  .subscribe((data) => {
                        this.players = data;
                  });
Run Code Online (Sandbox Code Playgroud)

这个查询返回给我这个Json对象(this.players)

[
  {"team":"teamA","name":"player1","age":"1"},
  {"team":"teamA","name":"player2","age":"1"},
  {"team":"teamA","name":"player3","age":"1"},
  {"team":"teamB","name":"player4","age":"1"},
  {"team":"teamB","name":"player5","age":"1"}
]
Run Code Online (Sandbox Code Playgroud)

然后我想显示按团队分组的玩家

teamA: player1,player2,player3
teamB: player4,player5
Run Code Online (Sandbox Code Playgroud)

我如何groupBy teamAngular2上(直接进入@View?)?

UPDATE

我在Angular 1上看到了这个,可以在使用| groupBy:'propertyName'ngFor 的视图中完成.Angular 2上有这样的东西吗?

javascript group-by typescript angular

8
推荐指数
1
解决办法
6882
查看次数

如何在Angular2中管理服务?

Angular 2:2.0.0-alpha.31/Typescript 1.5

目前我将我的服务管理为一个简单的Class,然后我将其Class注入另一个组件.例:

export class PlayerService {
  http: Http;
  players = [];

  constructor( @Inject(Http) http) {
        this.http = http;
  }

  getAll(callback) {
        this.http.get('/data/players.json')
              .toRx()
              .map((res) => res.json())
              .subscribe((data) => {
                    this.players= data;
                    callback(data);
              });
  }

  add(player) {
        //call webservice to save user  
        this.players.push(player); //only if save has work  
  }
  delete(player) {
        //Not implemented yet   
  }
  get(id) {
        //Not implemented yet   
  }
}
Run Code Online (Sandbox Code Playgroud)

我想,我这样做的方式不对..

  • 我在用http.get().toRx().subscribe()?我以为我看到有些人Observable直接从toRx()
  • 如果两个组件同时请求player(getAll()),则将执行两个查询.我必须管理旗帜还是有另一种方式?
  • 我在这里工作回调.如果我想"立即"(没有异步)数据我该怎么办?
  • 将 …

javascript typescript angular

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

Angular2:注入非@Injectable类

角度:2.0.0-beta.9

是否可以将非@Injectable类注入component?例如,此类可能来自第三方库.

typescript angular

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

Angular2:JsonObject作为@Input值

Angular2:2.0.0-beta8

我想自定义一个指令。为了实现这一点,我创建了一个包含所有自定义参数的对象,并希望将其传递给模板,如下所示:

我的指令在模板中使用:

<div my-directive="{param1: 46, param2: 48}"></div>
Run Code Online (Sandbox Code Playgroud)

在我的指令中输入:

@Input('my-directive')
public conf: Configuration;
Run Code Online (Sandbox Code Playgroud)

参数对象定义:

export interface Configuration{param1;param2; ...}
Run Code Online (Sandbox Code Playgroud)

可悲的是,它不起作用。也许是Json解析的原因?

  • 如何获得它的作品?
  • 我是否应该在组件上创建此“ Param对象”,然后使用变量将其传递给模板?
  • 有最佳做法吗?

typescript angular

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

RxJs:拖放示例:添加 mousedragstart

如何mousedragstart使用拖放 RxJs 的示例实现Observable 。

mousedragstart应该在第一个mousedrag之后的第一个mousedown之前发出,直到mouseup.

我认为我们必须玩flatMap/ take(1)/takeUntil(mouseup)但我每次都失败了..


更新

这里的困难不是避免mousedrag被发射之前mousedragstart

javascript system.reactive rxjs

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