2015-12-30 2 views
6

Я экспериментирую с Angular2 и пытаюсь получить простой клик, чтобы обновить шаблон. Событие click вызывает функцию toggleValue(), но не обновляет шаблон. То, что я сделал, похоже, соответствует различным учебникам (хотя они основаны на альфа-версии); Я просто не могу понять, где я ошибся с таким простым примером. Код выглядит следующим образом:Angular2 Click Event Not Updating Template

/// <reference path="typings/tsd.d.ts" /> 
 

 
import 'reflect-metadata'; 
 
import {Component, View} from 'angular2/core'; 
 
import {bootstrap} from 'angular2/bootstrap'; 
 

 
@Component({ 
 
    selector: 'app', 
 
}) 
 
@View({ 
 
    template: ` 
 
     <div>Value: {{value}}</div> 
 
     <button (click)="toggleValue()">Toggle</button> 
 
    ` 
 
}) 
 
class App { 
 

 
    value: boolean = true; 
 

 
    toggleValue() { 
 
     console.log('toggleValue()'); 
 
     this.value = !this.value; 
 
    } 
 
} 
 

 
bootstrap(App);

Я использую ANGULAR версию 2.0.0-beta.0

+0

Ваш код в порядке. –

+2

Попробуйте это: https://plnkr.co/edit/AM8oYG4VqalcQMnlE3MP?p=preview Обратите внимание, что я изменил 'import {bootstrap} из 'angular2/bootstrap';' to 'import {bootstrap} из 'angular2/platform/браузера; ' – kendaleiv

ответ

4

Возможно, это могло быть, потому что вы не включили файл angular-polyfills.js. Последний содержит поддержку зон, которые отвечают за обнаружение обновлений полей компонентов. Таким образом, шаблоны затем могут быть обновлены, чтобы принимать во внимание новые значения ...

Включите этот файл в файл index.html вашего приложения?