Angular 2更改了类中的数据

时间:2016-02-02 16:36:55

标签: javascript angularjs data-binding typescript angular

为什么我无法在类中的函数中更改View中的数据?

wrap.component.ts

@Component({
    selector: 'wrap',
    templateUrl: './templates/wrap.html'
})

export class WrapComponent {
    public test: string;
    constructor () {
        this.test = 'Hello world';
    }

    fun () {
        this.test = 'SPAM';
    }
}

express.component.ts

import {WrapComponent} from './wrap.component';
export class Express {
    constructor () {
        new WrapComponent().fun();
    }
}

wrap.html

<h2>{{test}}</h2>

为什么在视图中测试变量是'Hello world'?

1 个答案:

答案 0 :(得分:0)

实际上,您可以自己实例化WrapComponent类中的Express组件。 Angular2自己管理组件实例。这意味着您不共享同一个实例。

为了进一步帮助您,我需要知道Express类代表哪种实体......另一个组件,服务,......

您可以在fun组件中的click事件中调用WrapComponent方法:

<div (click)="fun()">Have fun!</div>

希望它可以帮到你, 亨利