私は最初のangular2アプリケーションを実験としてセットアップしようとしています。最新のベータリリースを使用しています。Angular2、settimeoutで変数が変更された後にビューが更新されない
タイムアウトを設定した後、私のビューで使用している変数が更新されていない、奇妙な問題に直面しています。
@Component({
selector: "my-app",
bindings: []
})
@View({
templateUrl: "templates/main.component.html",
styleUrls: ['styles/out/components/main.component.css']
})
export class MainComponent {
public test2 = "initial text";
constructor() {
setTimeout(() => {
this.test2 = "updated text";
}, 500);
}
}
あなたは私がTEST2と私は、「更新されたテキスト」に値を更新しています500ミリ秒のタイムアウトを設定するコンストラクタでという名前の変数を持って見ることができるように。
その後、私は単純に使用私の見解のmain.component.htmlに:
{{ test2 }}
しかし、値が「更新テキスト」に設定されることはありません、更新部分があるにもかかわらず、いつまでも「最初のテキスト」にとどまりますヒットした。私がangular2チュートリアルに従えば、彼らは私にこの解決策への答えを与えません。誰かが私がここで何が欠けているかのアイデアを持っているのだろうかと思っていました。
編集:私の完全な私は、ブートストラップなど、使用していたコードやHTMLなどのブートストラップと
<html>
<head>
<title>Angular 2</title>
<script src="/node_modules/systemjs/dist/system.src.js"></script>
<script src="/node_modules/reflect-metadata/reflect.js"></script>
<script src="/node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="/node_modules/q/q.js"></script>
<script src="/node_modules/jquery/dist/jquery.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="/bower_components/breeze-client/breeze.debug.js"></script>
<script src="/bower_components/datajs/datajs.js"></script>
<script src="/bower_components/bootstrap-less/js/collapse.js"></script>
<script src="/bower_components/bootstrap-less/js/modal.js"></script>
<script src="/bower_components/signalr/jquery.signalR.js"></script>
<script src="http://localhost:64371/signalr/js"></script>
<link href="styles/out/main.css" type="text/css" rel="stylesheet" />
<script>
System.config({
map: {
rxjs: '/node_modules/rxjs' // added this map section
},
packages: {'scripts/out': {defaultExtension: 'js'}, 'rxjs': {defaultExtension: 'js'}}
});
System.import('scripts/out/main');
</script>
</head>
<body>
<my-app>loading...</my-app>
</body>
</html>
main.ts:
import {Component} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser'
import {COMMON_DIRECTIVES} from './constants';
import {MainComponent} from './components/main.component'
bootstrap(MainComponent);
メインcomponent.html
{{ test2 }}
私はちょうどあなたの最小angle2アプリを再構築しましたが、私は更新されたテキスト結果を取得します。コンソールにエラーはありますか?そうでない場合は、より多くのコードを提供できますか?あなたの 'index.html'、' main.component.html'、どこでアプリケーションをブートストラップするのですか? – PierreDuc
これは私のために解決されましたhttp://stackoverflow.com/a/41724333/1197775 – juanpastas