0

config.jsファイルでグローバル変数を宣言します。

var  _StockClass = 0;

次に、次のようなビューから値を設定します。

function GetListItem(e) {
    // alert('Click for Id=' + itemData.Id.toString() + ', Name=' + itemData.Name);
    _StockClass = e.StockClassID.toString();

}

そしてビューコード:

<div data-options="dxView : { name: 'ProductClass', title: 'Products', pane: 'master' } " >
  <div  data-options="dxContent : { targetPlaceholder: 'content' } " >             
    <div data-bind="dxTextBox: { onValueChanged: onSearchTextChanged, mode: 'search' }"></div>
    <div data-bind="dxList: { dataSource: dataSource, pullRefreshEnabled: true, itemClickAction: GetListItem }">
      <div data-bind="dxAction: '#StockTypeViews/{StockClassID}'" data-options="dxTemplate : { name: 'item' } " >
        <!--
           <img height="55" style="padding: 10px; float:left;" data-bind="attr: { src: imageUrlPropertyName }" />
        -->
        <div class="list-item" data-bind="text: 'Code:' + ' ' + Code()"></div>
        <div class="list-item" data-bind="text: 'Description:' + ' ' + Description()"></div>
        <div class="list-item" data-bind="text: 'StockClassID:' + ' ' + StockClassID()" style="visibility:hidden"></div>
      </div>                  
    </div>
  </div>
</div>

今、私がそれを使いたいビューで、私は言います:

dataSource = new DevExpress.data.DataSource({
    store: Prosound.db.StockTypeViews,
    map: function(item) {
        return new Prosound.StockTypeViewViewModel(item);
    },
    filter: [['StockClassID', '=', _StockClass], 'and', ['Active', '=', true]]
    //  searchExpr: 'StockID' //change field here for search
});

私はデバッグしましたが、それsaying _StockClass0.

ビューでその値を設定し、それを別のビューに転送するにはどうすればよいですか?

4

1 に答える 1

0

ビューの読み込みを待機する onDeviceReady イベントにデータソース コードを保持します。変数を別のビューに渡すには... app.config.js で変数をグローバルとして宣言します。

于 2015-06-02T04:21:57.570 に答える