2015-12-30 4 views
6

私はAngular2を試していて、簡単なクリックイベントを取得してテンプレートを更新しようとしています。クリックイベントはtoggleValue()関数を起動しますが、テンプレートは更新されません。私がやったことは、そこにあるさまざまなチュートリアル(Alpha版に基づいていますが)に沿っているようです。私はこのような簡単な例でどこが間違っているのか分かりません。コードは次のよう:Angular2クリックイベントテンプレートを更新していません

/// <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-polyfills.jsファイルが含まれていなかったので、おそらくそれは、可能性が

+0

コードは問題ありません。 –

+2

これを試してみてください:https://plnkr.co/edit/AM8oYG4VqalcQMnlE3MP?p=preview 私は 'angular2/bootstrap'から 'import {bootstrap}'を 'angular2/platform'からインポート{bootstrap}に変更しました/ browser '; ' – kendaleiv

答えて

4

アンギュラバージョン2.0.0-beta.0を使用しています。後者には、コンポーネントフィールドの更新を検出する役割を担うゾーンのサポートが含まれています。こうすることで、テンプレートを更新して新しい値を考慮に入れることができます。

このファイルをアプリケーションのindex.htmlファイルに含めますか?