2017-05-18 23 views
0

これまで、ネイティブスクリプトフレームワークの学習を開始しました。公式サイトから「JavaScriptを使用して開始する」チュートリアルに従っています。私はJavaでの背景を持っているので、私はtypescriptにもっと精通しています。私はすべてのJavaScriptコードをtypescript相当のものに置き換えようとしました。typescriptを使用してネイティブスクリプトでObservableを実装する方法

これまでのところすべてが問題ありませんでしたが、Chapter three > 3.4: Adding a view model sectionに達した時点で、Observableをtypescriptで実装する方法が混乱しました。これは、ウェブサイトからのコードです:

var observableModule = require("data/observable"); 

var user = new observableModule.fromObject({ 
    email: "[email protected]", 
    password: "password" 
}); 

そして、これは私が思い付いたものです:

import {Observable} from 'data/observable'; 
class User extends Observable { 
    email = "[email protected]"; 
    password = "password"; 
} 

let user = new User(); 

私はそれをテストしたとき、動作しているようです。上記のコードは同等か、私は何かを逃しましたか?

答えて

1

はいこれは、「オブジェクト」を観測可能にする方法です。異なるだけでなく、同様のアプローチは、例えば、あなたの全体の「ViewModelに」観測可能にするために、次のようになります。その後

import { Observable } from "data/observable"; 

export class ViewModel extends Observable {  
    constructor() { 
     super(); 

     this.set("propertyA", 42); 
     this.set("propertyB", "some value"); 
    } 

    public updatedValues() { 
     this.set("propertyA", 3.14); 
     this.set("propertyB", "some new value"); 
    } 
} 

あなたはViewModelは、あなたがあなたの通常のバインディングと任意のアップデートを行うことができますのbindingContextすることを設定した場合、 ViewModelのプロパティがビューに伝播されます。

<Label text="{{ propertyA }}"/> 
<Label text="{{ propertyB }}"/> 
+0

ありがとうございますウラジミール –

関連する問題