2016-09-04 6 views
-1

このように:https://github.com/errisy/bindable/blob/master/README.mdjavascript/typescriptにデータバインディングとイベントフレームワークをオブジェクト化するオブジェクトがありますか?

単純なタイプスクリプトデコレータでデータバインドを設定します。

パス変更検出によるバインドとイベントの弱い参照。

すべてのバインディングとイベントは、「弱参照」のITriggerとして保持されます。 ITrigger.targetがundefinedに設定されると、ITriggerは呼び出し元によって削除されます。

A.branch.valueにA.propertyがバインド(またはA.methodがリッスン)する場合、A.branchが変更されている場合、パスの変更はバインディングホストとリスナーのいずれかによって検出できます。以前のバインディングを無効にして新しいバインドをリッスンして設定し、新しく割り当てられたブランチを聞くには、以前のITriggerのITrigger.targetをundefinedに設定します。

@obs.bindable 
class Person { 
    @obs.property 
    public Name: string; 
    @obs 
     .bind(()=>Person.prototyope.Name.FirstName) 
     .before(()=>Person.prototype.beforeFirstNameChange) 
     .after(()=>Person.prototype.FirstNameChanged) 
     .property 
    public FirstName: string; 
    @obs.event 
    public beforeFirstNameChange =() => { 
     console.log('before first name is changed.'); 
    } 
    @obs.event 
    public FirstNameChanged =() => { 
     console.log('first name is changed.'); 
    } 
} 
@obs.bindable 
class Name{ 
    @obs.property 
    public Surname: string; 
    @obs.property 
    public FirstName: string; 
} 

let p = new Person(); 
p.FirstName = 'Jack'; // p.Name.FirstName will change as well. 
+0

このフレームワークは素晴らしいかもしれませんが、これは広告する場所ではありません。 –

+2

ここであなた自身の質問をするのは問題ありませんが、a)回答は質問の一部ではなく回答として掲示する必要があり、b)通常の品質要件 – Flexo

答えて

1

かなりあります。現在のお気に入り:https://github.com/mobxjs/mobx透明リアクティブプログラミングをサポートしています。そこに例えば

その他

多くの非透明のオプションrxjsのような観測のいずれか。また古いものはknockoutjsですが、独自のUIプログラミングに縛られています。

関連する問題