2016-02-02 4 views
0

Почему я не могу изменить данные в режиме просмотра из функции в классе?Угловой 2 изменить данные из класса

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> 

Почему в переменной зрения тест является 'Привет мир'?

ответ

0

Фактически, вы создаете свой собственный компонент WrapComponent класса Express. Angular2 управляет сам по себе экземплярами компонентов. Это означает, что вы не используете один и тот же экземпляр.

Чтобы помочь Вам, мне нужно знать, какой тип объекта Express класс представляет ... Другой компонент, сервис, ...

Вы можете вызвать метод fun из click события внутри WrapComponent компонент:

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

Надеется, что это помогает вам, Thierry

+0

полного приложению работать в качестве электронного приложения, а в полной версии 'Express' является классом с ExpressJS AP Я. Тогда этот api получит запрос, я запускаю метод 'fun'. Этот метод находится в другом файле 'wrap.components.ts', который имеет компонентную и интерфейсную бизнес-логику. Этот метод должен изменить данные в 'wrap.html'. –

Смежные вопросы