/*****
*
* Assuming a HTML like
*
* <... id="test-app-1">
* <... v-for="oneuser in userlist">
* {{oneuser.id}} , name: {{oneuser.name}}
*
*
*
*
*/
var test_vue_app = new Vue({
el : "test-app-1",
data : {
userlist : [{id:1, name:"hello"}]
}
});
/******************************************************************************
//
// To load directly from JS(jQuery)
//
/*****************************************************************************/
function js_load_something(){
var uid = 5; //for test.
BasicFunction.get_data("smartUsers/list"+"?userId="+uid,
/**
* 下面的function是访问网络成功后的结果回调,obj 类似
*
* http://south.niimei.com:8866/server/smartUsers/list
* {
* "ret":"10000","detail":null,"field":null,"model":
* {"page":1,"pageSize":15,"totalPage":1,"totalResult":15,
* "list":
* [
* {
* "uid":3,"usn":"cell_13520583918","pss":"64e604787cbf194841e7b68d7cd28786f6c9a0a3ab9f8b0a0e87cb4387ab0107",
* "name":"HelloWorld","title":"","priv":"view,order,deliver,pay","state":0,"sess":"iOgxGPkFIV3JxBlBfCv",
* "phone":"13520583918","schoolDistrict":null,"userExpPts":null,"userGroup":null,"userVcoin":null,"registerTime":null,
* "lastLoginTime":null,"wxUnionid":null,"wxEngineid":null,"wxOpenid":null,"note":null
* },
* {..第二条数据..},
* {..第三条数据..}
* ]
* }
* }
* @param obj
*/
function (obj) {
var parsedObj = first_parse(this, obj);
if(parsedObj != null && parsedObj != undefined) {
test_vue_app = parsedObj.list;
} else {
// error
}
} //end of f (obj, status)
); // end of get_data
}
/******************************************************************************
//
// To load using DataObject + DataService + Module stuff
//
*****************************************************************************/
//Module means some component (need only to draw);
var test_vue_module = new Module("nothing", "smartUsers");
test_vue_module.drawData = function (data) {
test_vue_app.data.userlist.pop();
for(let i = 0; i < data.len(); i++) {
test_vue_app.data.userlist.push(data.getSorted(i));
}
} ;
var loader = new (function(){
/* this is the main data service that is auto-updating your data*/
this.userListServ = new DataObjectService("smartUsers", AUTO, "?ext=1");
// Optional for setting up self-defined interval
// this.userListServ.autoInterval = 300;
// this.userListServ.setUpInterval();
/**
* load Once, as is.
*/
this.loadOnce = function(){
var list = this.userListServ.list;
test_vue_module.setData(list);
};
/***
* loadOften : to auto-load some data
*/
this.loadOften = function(){
// Binding Intervals to DataService
this.userListServ.bind(function (data) {
// auto call
test_vue_module.setData(data);
});
};
})();
//To load once
loader.loadOnce();
//To auto-refresh
// loader.loadOften();