2016-12-22 1 views
1

私はストアを呼び出します。そのloadリスナーでは、レコードをテストしてから、フィールドにreadOnlyを設定する変数にブール値を送信する必要があります。変数にプロパティをバインドします(私が推測する一方通行バインディング)

私は私のVMで

readOnly : { 
      value : true 
     } 

デフォルト

で置く私のviewmodelのdata.Iにあるその変数を変更する方法がわかりません。私はこのようなバインドプロパティを持つ私のコンポーネントでそれをキャッチ:

bind: { 
     readOnly: '{readOnly.value}' 
    } 

、その後...私は..私は、変数読み取り専用にブール値を書くことについて考えを知らないと、その後の私にそれをキャッチこのようなViewModelに:

/*変数ファイル*/

Ext.define('routing.utils.Vars', { 
    alternateClassName: 'gv', 
    readOnly : false 
}); 

/*ストアファイル*/

[...] 

listeners: { 
     load : function(store,record){ 
      if(a = b) { 
       gv.readOnly = true; 
      } 
      else { 
       gv.readOnly = false; 
      } 
     } 
    } 

[...] 

/*のViewModelファイル*/

formulas: { 
    readOnly: { 
     get: function(get){ 
      return gv.readOnly; 
     } 
    } 
} 

は私の読み取り専用はどのようにして、変数をバインドする...変更されません購入しますか?

+0

を結合プロパティを操作する方法について確認するためにあなたが店の負荷から、あなたのビューモデルを得ることができますか? –

答えて

2

viewmodelのsetメソッドを使用して、viewmodelデータプロパティのプロパティを設定できます。

yourViewModel.set('readOnly',{ 
    value:newValue 
}); 

あなたはこの方法でのViewControllerからあなたのViewModelを取得することができます:

viewController.getViewModel(); 

Have a look here

+0

あなたの答えをありがとう、私はちょうど私の店から私のviewcontrollerで私の関数を呼び出す方法がわからない。私の負荷リスナーでは、私は – So4ne

+0

Nvmだと思います、私はそれを行う方法を見つけました。どうもありがとう – So4ne

関連する問題