相关疑难解决方法(0)

Angular 2:如何使用/导入http模块?

我一直在玩Angular 2 Quickstart.如何在Angular 2中使用/导入http模块?
我看过Angular 2 Todo的.js,但它没有使用http模块.

我已经在package.json中添加"ngHttp": "angular/http",dependencies,因为我听说Angular 2有点模块化

angular2-http angular

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

数据更新后Angular2视图不更改

我试图在websocket事件返回更新数据后更新我的视图.

我将一个服务注入到我的应用程序中并在服务上调用getData()方法.此方法向我的NodeJS服务器发出一个socket.io事件,该事件又执行外部api调用并解析一些数据.然后NodeJS服务器发出一个成功事件,其中包含我在我的服务中监听的新数据.返回成功事件后,我会在我的视图中引用的服务上更新我的属性.

但无论我尝试什么,一旦属性更新,我都无法获取数据.

我已经搜索了几天,我发现的所有内容都是博客文章,说这个变化应该是无缝的,或者我需要以某种方式合并zone.js,或者尝试使用表单相同的逻辑(但是我试图这样做而没有用户互动).似乎没有什么对我有用,我有点沮丧.

例如:

假设我收到一个字符串数组,我想创建一个未排序的列表.

app.ts

import {Component, View, bootstrap, NgFor} from 'angular2/angular2';
import {MyService} from 'js/services/MyService';

// Annotation section
@Component({
    selector: 'my-app',
    viewInjector: [MyService]
})
@View({
    templateUrl: 'templates/my-app.tpl.html',
    directives: [NgFor]
})

class MyComponent {
    mySvc:MyService;

    constructor(mySvc:MyService) {
        this.mySvc = mySvc;
        this.mySvc.getData();
    }
}   

bootstrap(MyComponent, [MyService]);
Run Code Online (Sandbox Code Playgroud)

MyService.ts

let socket = io();
export class MyService {
    someList:Array<string>;

    constructor() {
        this.initListeners();
    }

    getData() {
        socket.emit('myevent', {value: 'someValue'});
    }

    initListeners() {
        socket.on('success', (data) => {
            self.someList = data;
        });
    }
 }
Run Code Online (Sandbox Code Playgroud)

我-app.tpl.html …

websocket angular

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

标签 统计

angular ×2

angular2-http ×1

websocket ×1