2017-06-08 8 views
0

クリックハンドラとデータバインドプロパティの両方を持つボタンをjsviewsテンプレートで定義します。ハンドラとバウンドタグ属性を持つボタン

は、私は、このデータを持っていると仮定すると:

var data = { 
    Enable : true, 
    DisplayName : "foo", 
    SomeData : 42 
}; 

このヘルパーは:

var handlers = { 
    fooClicked : function(data, evt) { 
     console.log(arguments); 
    } 
}; 

イベントハンドラとボタンのプロパティをplumbするために私のテンプレートにボタンを追加する方法は?

私が試した:

  • <button data-link="{on ~onAvailabilityClick SomeData disabled:^{!Enable}}"> {^{>DisplayName}} </button>
  • <button data-link="{on ~onAvailabilityClick SomeData} disabled:^{!Enable}"> {^{>DisplayName}} </button>
  • {^{on ~onAvailabilityClick SomeData}}<button data-link="disabled:^{!Enable}"> {^{>DisplayName}} </button>{{/on}}

しかし、誰テキストを持たないように、これらの作品(テンプレートの構文エラーまたは不完全なボタンのいずれか、のいずれも、または全くハンドラを)。

私はjsViews 0.98.4を使用しています。

PS:それが重要かどうかわかりませんが、実際には、テンプレートは深いオブジェクト構造のforループの中に入れられています。

答えて

1

あなたがここに複数のデータ・リンク・バインディングの設定に関するドキュメント、およびその他の関連トピックを検索することができます

、あなたは

<button data-link="disabled{:!Enable} {on ~onAvailabilityClick SomeData}"> 
    {^{>DisplayName}} 
</button> 

を記述する必要があるかご希望の場合:

<button 
    data-link="disabled{:!Enable} {on ~onAvailabilityClick SomeData} {:DisplayName}"> 
</button> 
0

私は最終的にそれを作った:

<button data-link="disabled{:!Enable} {on ~onAvailabilityClick SomeData}"> 
    {^{>DisplayName}} 
</button> 
+1

をあなたがタイプミスやコピー&ペーストのエラーを持っているように見えます。 訂正された構文といくつかのリンクを含む回答を追加しました。 – BorisMoore

+0

@BorisMoore:良いキャッチ:誤字がありました。 –

関連する問題