将变量传递到另一个视图 - Devextreme

时间:2015-01-19 06:58:47

标签: devextreme

我在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

如何在视图中设置其值,并将其传输到另一个视图?

1 个答案:

答案 0 :(得分:0)

将您的数据源代码保存在onDeviceReady事件中,该事件将等待您的视图加载。 并将变量传递给另一个视图...在app.config.js中将变量声明为全局变量。