0

我正在测试phonejs,所以我从网站下载了最新版本,在演示文件夹中有RealtoApp 示例。我正在看里面,我有点困惑。

在 data 文件夹中有一个名为sampleData.js的 javascript 文件,它定义了RealtorApp.data.SampleData = { ... }所有要处理的静态信息,有没有一种简单的方法可以远程绑定这些信息而不是这个静态数据?其中大部分是javascript、jquery 和淘汰赛,所以我相信你是这方面的佼佼者。

我发誓我看过所有教程,我只是找到了带有加载函数和 getJson 方法的新 DevExpress.data.Datasource 对象,我认为这是方法,但如果知道如何在 RealtoApp 演示中合并它会很棒。

一些帮助 ?

4

1 回答 1

2

静态数据 (RealtorApp.data.SampleData) 由dataLayer.js中定义的数据访问层使用

dataLayer 是一组模拟异步数据访问的函数。因此,您可以使用 $.getJSON 或对服务器的任何其他异步调用来实现它们。只需将 setTimeout 替换为您的异步调用,例如

function getPropertiesByCoordinates(latitude, longitude) {
    var result = $.Deferred();

    $.getJSON("your url", function(data) {
        var properties = [];
        $.each(data, function(_, value) {
            properties.push(new RealtorApp.data.PropertyViewModel(value));
        });
        result.resolve(data);
    });

    // INSTEAD OF 
    //setTimeout(function() {
    //    var properties = [];
    //    $.each(RealtorApp.data.SampleData, function(_, value) {
    //        properties.push(new RealtorApp.data.PropertyViewModel(value));
    //    });
    //    result.resolve(properties);
    //}, TIMEOUT);

    return result.promise();
}

如果您想找到如何使用真正的远程服务的示例,请查看 Skate Shop 演示 https://www.devexpress.com/Products/HTML-JS/demos.xml#!demo=devextreme-skate-demo

实际上,PhoneJS 有强大的数据层(从静态 js 数组到 rest 服务)。查看以下链接 http://phonejs.devexpress.com/Documentation/Howto/Data_Layer?version=13_2#Data_Layer http://phonejs.devexpress.com/Documentation/Howto/Data_Source_Examples?version=13_2#Data_Source_Examples

于 2014-04-18T10:29:09.513 回答