数据更新时jsblocks更新视图

时间:2015-08-07 17:38:00

标签: javascript model-view-controller jsblocks

我的应用程序中有一个对象,我们称之为myObject,因此myObject有一些键,并且使用jsblocks库在我的html中呈现。

由于缺乏完整的文档,我仍然无法弄清楚如何在从服务器端更新此对象时更新我的​​视图,例如:

function fetchArtists()
{
     // load data
        $.post( "../db/fetch/", { table: "artists"})
          .done(function( data ) {
            artists=JSON.parse(data);            
            //console.log( JSON.parse(data)  );
          });
}

这是一个从服务器获取对象数据并将其存储在对象艺术家中的函数。

这是我升级视图的地方:

blocks.query(artists,$(".artist-list,.artist-data"));

我希望能够在调用新的fetch时使用blocks.observable(artists);来升级视图,但它无法正常工作,有人知道这样做的正确方法吗?

1 个答案:

答案 0 :(得分:3)

当您说要使用blocks.observable更新数据时,您走在正确的道路上。你应该这样做的方式应该类似于下面的代码:

var Model = {
  artists: blocks.observable([])
};

function fetchArtists()
{
    // load data
    $.post( "../db/fetch/", { table: "artists"})
       .done(function( data ) {
           Model.artists.reset(JSON.parse(data));
       });
}

blocks.query(Model);