小编Edw*_*ard的帖子

Angular 2.如何申请orderBy?

我有一段代码.

<table class="table table-bordered table-condensed" cellpadding="0" cellspacing="0">
    <thead>
        <tr>
            <th>#</th>
            <th>Name</th>
            <th>Score</th>
        </tr>
    </thead>
    <tbody>
        <tr *ngFor="#participant of participants; #i = index">
            <td>{{i+1}}</td>
            <td>{{participant.username}}</td>
            <td>{{participant.score}}</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

在Angular 1中,我有orderBy过滤器来按我的过滤器对行进行排序.但是我怎样才能以相同的方式在Angular 2中进行orderBy?谢谢.

javascript angular

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

在Angular 2中的多个组件之间共享WebSocket数据的最佳方法是什么?

我开始构建一个应用程序.有很多组件.他们每个人都需要来自1个webSocket的一部分数据.webSocket接收对象的示例:

在此输入图像描述

每个Angular 2组件需要1个来自接收对象的字段.是否可以创建1个服务,它将连接到webSocket,接收数据并在所有组件之间共享?我认为这将是一个很好的解决方案.

现在我正在使用下一个方法:

getConfigCallback() {
    this.connectionSockets.telemetry = io(this.config.connections.telemetry);
    this.connectionSockets.controlFlow = new WebSocket(this.config.connections.controlFlow.server + ':' + this.config.connections.controlFlow.port);

    this.connectionSockets.telemetry.on('telemetry', function(data) {
        console.log(data);
    });

    this.connectionSockets.controlFlow.onopen = function(data) {
        console.log('onOpen', data);
    };

    this.connectionSockets.controlFlow.onmessage = function(data) {
        console.log('onMessage', data);
    };
}
Run Code Online (Sandbox Code Playgroud)

我在主要组件中接收数据,并希望使用组件的实例在组件之间共享它.但我认为这是一个坏主意,并且存在更好的解决方案.

javascript components websocket angular

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

Angular 2.将参数传递给组件

我想将一个字符串参数传递给我的组件.根据传递参数,我将为我的组件中的服务传递不同的参数.我接下来做:在index.html中调用我的组件,传递参数.

<top [mode]="tree">Loading...</top>
Run Code Online (Sandbox Code Playgroud)

在我的组件中,我包括来自angular2/core的输入

import {Input, Component, OnInit} from 'angular2/core';
Run Code Online (Sandbox Code Playgroud)

在我的组件类中,我声明了一个输入

@Input() mode: string;
Run Code Online (Sandbox Code Playgroud)

并且使用console.log()我尝试捕获'tree'的传递参数,但它未定义.

console.log(this, this.mode);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

组件文件的完整代码:

import {Http, HTTP_PROVIDERS} from 'angular2/http';
import {Input, Component, OnInit} from 'angular2/core';
import {ParticipantService} from '../services/participant.service';
import {orderBy} from '../pipes/orderby.pipe';

@Component({
    selector: 'top',
    templateUrl: 'dev/templates/top.html',
    pipes: [orderBy],
    providers: [HTTP_PROVIDERS, ParticipantService]
})
export class AppTopComponent implements OnInit {

    constructor (private _participantService: ParticipantService) {}

    errorMessage: string;
    participants: any[];
    @Input() mode: string;

    ngOnInit() {
        console.log(this, this.mode);
        this.getParticipants('top3');
        var self = this;
        setInterval(function() {
            self.getParticipants('top3');
        }, 3000); …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

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

Angular 2和谷歌地图API.从组件操纵地图`s对象

我使用Angular 2,我需要使用Google Map.我需要初始化一个地图,创建一些带有路线坐标的数组,添加一个自定义HTML标记,添加一些事件监听器,绘制折线等等.所有这些都可以在网页上只使用原生JS.在我的工作中,我需要使用Angular2.我如何在组件内部初始化一个地图对象,并在一个组件内操纵它,就像对象一样?

有一个angular2-google-maps库,但它的功能有限.例如,我无法使用angular2-google-maps创建折线,我无法集成某些库,例如自定义HTML标记,cSnapToRoute等.

javascript google-maps angular

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

Angular 2.使用ngFor在对象内循环数组

我有组件数据的下一个结构:

在此输入图像描述

我想使用打印assignedCards组件视图中的列表*ngFor.我这样做可能:

<div *ngFor="#item of mission.assignedCards" class="b-progress-bar__item m-progress-bar__item_completed">
<div class="b-progress-bar__inner">{{item}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)

但它有一个例外:

在此输入图像描述

如果我测试mission价值,它说我,这mission是一个对象.

在此输入图像描述

所以,我想访问对象中的assignedCards数组mission并进行循环.

javascript components angular

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