BUI 數(shù)據(jù)交互

2020-08-12 10:53 更新

BUI里面有3種數(shù)據(jù)交互.

數(shù)據(jù)請求

bui.ajax(option)

數(shù)據(jù)請求 bui.ajax API 數(shù)據(jù)請求的跨域處理,請查看調(diào)試章節(jié).

參數(shù): option 是一個對象

option.url

  • Type: string
  • Detail: url地址

option.data

  • Type: object
  • Detail: 請求的參數(shù),默認(rèn):{}

option.method

  • Type: string
  • Detail: 默認(rèn): GET

示例:

  1. bui.ajax({
  2. url: "",
  3. data: {}
  4. }).then(function(res){
  5. // 成功回調(diào)
  6. console.log(res)
  7. },function(res,status){
  8. // 失敗回調(diào)
  9. console.log(status);
  10. })

還有依賴請求,順序請求等, 查看更多ajax技巧

模板渲染

這里你熟悉$的jQuery及Dom操作都可以直接在bui.ready里面使用, 工程里面可以支持ES6 的模板.

使用 $ 渲染示例:

這些屬于jQuery的基礎(chǔ)操作, 更多知識請自行學(xué)習(xí).

渲染一個列表:

list.js

  1. // 示例數(shù)據(jù),正常由請求返回
  2. var data = [{
  3. name: "hello"
  4. },{
  5. name: "bui"
  6. }];
  7. // 聲明列表模板
  8. var templateList = function (data) {
  9. var html = '';
  10. data.forEach(function(el,index){
  11. html += `<li class="bui-btn">${el.name}</li>`;
  12. })
  13. return html;
  14. }
  15. var listTpl = templateList(data);
  16. // $渲染
  17. $("#list").html(listTpl);

list.html

  1. <ul id="list"></ul>

數(shù)據(jù)存儲

bui.storage(option)

bui.storage 是基于 localStoragesessionStorage 封裝的, 主要解決兩者之間的API統(tǒng)一問題, 并且支持JSON存儲, 以及支持限制多少條數(shù)據(jù)等問題, 常用來做歷史記錄. 默認(rèn)返回的是一個數(shù)組.

參數(shù): option 是一個對象

option.local

  • Type: boolean
  • Detail: 設(shè)置是否為本地存儲,默認(rèn):true 為localStorage, false 則為 sessionStorage

option.size

  • Type: number
  • Detail: 限制存儲多少條數(shù)據(jù),默認(rèn):1

示例1: 字符存儲

  1. // 存儲1條數(shù)據(jù)
  2. var storage = bui.storage();
  3. storage.set("name","hello");
  4. // 第2個會覆蓋第1個
  5. storage.set("name","bui");

示例2: 對象存儲

  1. // 存儲2條json數(shù)據(jù)
  2. var storage2 = bui.storage({size:2});
  3. // 通過id字段判斷數(shù)據(jù)是否重復(fù),如果有重復(fù)的ID,則會替換掉之前的數(shù)據(jù)
  4. storage2.set("user",{id:"u1",name:"hello"},"id");
  5. storage2.set("user",{id:"u2",name:"bui"},"id");

示例3: 結(jié)合示例1,示例2 獲取數(shù)據(jù)

  1. // 獲取字符串
  2. var names = storage.get("name");
  3. // names 為數(shù)組, 可以通過 names[0] 獲取到內(nèi)容.
  4. console.log(names) // ["bui"]
  5. // 獲取對象
  6. var users = storage2.get("user");
  7. // 最后存儲的數(shù)據(jù)在前面
  8. console.log(users) // [{id:"u2",name:"bui"},{id:"u1",name:"hello"}]

注意: bui.storage 不管存什么數(shù)據(jù),獲取到的內(nèi)容都在一個數(shù)組里面.

如果想要取到存進(jìn)去的值, 可以這樣

  1. // 獲取第一個值
  2. var name = storage.get("name",0);
  3. console.log(name) // "bui"
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號