2017.8.10vue過(guò)濾器、storage、evalJS

vue過(guò)濾器的使用——日期格式化

首先,先看下官網(wǎng)對(duì)vue過(guò)濾器的介紹
vue過(guò)濾器可以用作常見(jiàn)的文本格式化(自己項(xiàng)目中的這個(gè)也是一個(gè)很好的例子)??梢杂迷趦蓚€(gè)地方——mustache和v-bind表達(dá)式。

<!-- in mustaches -->
{{message|capitalize}}
<!-- in v-bind -->
<div v-bind:id="rowId|formatId"></div>

過(guò)濾器總接受表達(dá)式的值(之前的操作鏈的結(jié)果)作為第一個(gè)參數(shù)。

new Vue({
  // ...
  filters: {
    capitalize: function (value) {
      if (!value) return ''
      value = value.toString()
      return value.charAt(0).toUpperCase() + value.slice(1)
    }
  }
})

自己在項(xiàng)目中的運(yùn)用

<div class='mui-col-xs-8 mui-col-sm-8' id="nowDate">{{nowDate|dateFilt}}</div>
var comData = new Vue({
    el:'.appapp',
    data:{
        nowDate:''
    },
    filters:{
        //格式化時(shí)間
        dateFilt:function(value){
            var nowDate = new Date();
            value = nowDate.getFullYear() + '-' + (nowDate.getMonth() + 1) + '-' + nowDate.getDate();
            return value;
        }
    }
})

注意:過(guò)濾器只適用于一些簡(jiǎn)單的文本格式化,其他的最好還是使用計(jì)算屬性。

evalJS

主要是今天在學(xué)習(xí)的時(shí)候,用webview創(chuàng)建新的窗口后,要執(zhí)行一段js代碼,所以了解了一下。
API的解釋:在Webview窗口中執(zhí)行JS腳本。

void wobj.evalJS(js);

說(shuō)明:將js腳本發(fā)送到webview窗口中執(zhí)行,可用于實(shí)現(xiàn)webview窗口間的數(shù)據(jù)通訊。

scan.onmarked = function(type, result){
    if(result) {
        alert(result);
        scan.close();
        plus.storage.setItem('result',result);//這里使用storage來(lái)保存數(shù)據(jù)
        var wn = plus.webview.getLaunchWebview();//傳遞消息返回的webview
        wn && wn.evalJS("var result = plus.storage.getItem('result');document.querySelector('#a').innerText = result;");//引號(hào)里為指定窗口要執(zhí)行的代碼
        plus.webview.currentWebview().close();//掃碼成功,關(guān)閉當(dāng)前webview
    }
};

以上的代碼是今天實(shí)現(xiàn)二維碼的時(shí)候,網(wǎng)上的一段代碼,涉及到storage、evalJS、webview。詳細(xì)

webview的API

webview模塊管理應(yīng)用窗口界面,實(shí)現(xiàn)多窗口的邏輯控制管理操作。通過(guò)plus.webview可以獲得應(yīng)用界面管理對(duì)象。
常用

  • create
    創(chuàng)建新的Webview窗口
WebviewObject plus.webview.create(url,id,styles,extras);

創(chuàng)建結(jié)束后通過(guò)show方法才能將webview窗口顯示出來(lái)。

w.show();
  • 獲取當(dāng)前窗口的webviewObject對(duì)象
plus.webview.currentWebview();

storage

之前一直都聽(tīng)過(guò)這個(gè)神奇的存貯方式,沒(méi)有真正的實(shí)踐過(guò),今天實(shí)踐了一下。感覺(jué)很神奇。

Api 的介紹:storage模塊管理應(yīng)用本地?cái)?shù)據(jù)存儲(chǔ)區(qū),用于應(yīng)用數(shù)據(jù)的保存和讀取。應(yīng)用本地?cái)?shù)據(jù)與localStorage、sessionStorage的區(qū)別在于數(shù)據(jù)有效域不同,前者可在應(yīng)用內(nèi)跨域操作,數(shù)據(jù)存儲(chǔ)期是持久化的,并且沒(méi)有容量限制。通過(guò)plus.storage可以獲得本地?cái)?shù)據(jù)管理對(duì)象。

  • getLength:獲得應(yīng)用存儲(chǔ)區(qū)中保存的鍵值對(duì)的個(gè)數(shù)
  • getItem: 通過(guò)key值獲得應(yīng)用存貯的值
  • setItem: 修改或添加鍵值(key-value)對(duì)數(shù)據(jù)到應(yīng)用數(shù)據(jù)存儲(chǔ)中
  • removeItem: 通過(guò)key值刪除鍵值對(duì)存儲(chǔ)的數(shù)據(jù)
  • clear: 清除應(yīng)用所有的鍵值對(duì)存儲(chǔ)數(shù)據(jù)

自己寫的demo
頁(yè)面1

var result1 = "Gping123";
var result2 = "hello Storage";
plus.storage.setItem('result1',result1);
plus.storage.setItem('result2',result2);

頁(yè)面2

//獲取應(yīng)用存儲(chǔ)區(qū)中保存的鍵值對(duì)的個(gè)數(shù)
var stoLen = plus.storage.getLength();
console.log(stoLen);//2

//通過(guò)key值刪除鍵值查找相關(guān)的值
var backResult = plus.storage.getItem('result1');
var backResult1 = plus.storage.getItem('result2');
console.log(backResult);//Gping123
console.log(backResult1);//hello Storage

//通過(guò)key值刪除鍵值對(duì)存儲(chǔ)的數(shù)據(jù)
plus.storage.removeItem('result1');
var backResult3 = plus.storage.getItem('result1');
var backResult4 = plus.storage.getItem('result2');
console.log(backResult3);//null
console.log(backResult4);//hello Storage
//獲取應(yīng)用存儲(chǔ)區(qū)中保存的鍵值對(duì)的個(gè)數(shù)
var stoLen = plus.storage.getLength();
console.log(stoLen);//1

//清除 應(yīng)用中所有的鍵值對(duì)應(yīng)的數(shù)據(jù)
plus.storage.clear();
var backResult3 = plus.storage.getItem('result1');
var backResult4 = plus.storage.getItem('result2');
console.log(backResult3);//null
console.log(backResult4);//null

//獲取應(yīng)用存儲(chǔ)區(qū)中保存的鍵值對(duì)的個(gè)數(shù)
var stoLen = plus.storage.getLength();
console.log(stoLen);//0

通過(guò)storage來(lái)保存數(shù)據(jù)從而進(jìn)行傳參數(shù)

plus和mui

plus 是 app 的底層運(yùn)行環(huán)境,讓 js 能夠訪問(wèn)硬件設(shè)備提供的某些功能。
MUI 是一套輕量級(jí)的前端框架,從某種意義上說(shuō),你可以把 MUI 分為兩部分:
(1) 與 plus 無(wú)關(guān)的部分,純粹用 H5 實(shí)現(xiàn)的功能,比如大部分的 UI 組件。
(2) 對(duì) plus 進(jìn)行包裝得到的一些應(yīng)用功能,比如窗口管理、下拉刷新等。
但這兩部分并不是截然分開(kāi)的,有些功能接口在有 plus 的環(huán)境下就使用 plus,沒(méi)有 plus 就退化為用純 H5 來(lái)實(shí)現(xiàn)。

svn的一些操作

項(xiàng)目的合作只要是通過(guò)svn進(jìn)行,所以這個(gè)過(guò)程中也會(huì)慢慢總結(jié)歸納SVN的操作

SVN的commit和update

其他

要備戰(zhàn)秋招,一些知識(shí)點(diǎn)肯定不能落下
vuex
組件
vue路由

原生js的ajax請(qǐng)求

裝車流程:
搶修需求渲染——裝車物資信息渲染——取得改變后的數(shù)據(jù)放在一個(gè)數(shù)組——點(diǎn)擊確認(rèn)裝車(跳轉(zhuǎn)加將數(shù)組傳到第二個(gè)頁(yè)面)——輸入相關(guān)信息——提交——驗(yàn)證——提交表單給后臺(tái)(前面的數(shù)組還有表單內(nèi)容——放到一個(gè)對(duì)象中)

頁(yè)面寫好,等待數(shù)據(jù)過(guò)來(lái)!

驗(yàn)收流程:
搶修需求清單渲染——實(shí)際到貨設(shè)備渲染(數(shù)量可以改變)——司機(jī)信息渲染——部分驗(yàn)收(暫時(shí)存儲(chǔ)數(shù)據(jù)【存貯哪些數(shù)據(jù)?】)——全部驗(yàn)收(生成二維碼)——已生成的二維碼(一開(kāi)始這個(gè)按鈕不可點(diǎn),這個(gè)按鈕可點(diǎn)的時(shí)候全部驗(yàn)收不可點(diǎn))

二維碼實(shí)現(xiàn):
A頁(yè)面到B頁(yè)面,B頁(yè)面掃描跳轉(zhuǎn)到C頁(yè)面(B頁(yè)面的掃描結(jié)果在C中處理),C返回到A頁(yè)面

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,355評(píng)論 25 708
  • 來(lái)源:github.com Vue.js開(kāi)源項(xiàng)目速查表:https://www.ctolib.com/cheats...
    zhangtaiwei閱讀 11,943評(píng)論 1 159
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,390評(píng)論 0 17
  • 今天是2017年7月4號(hào),考試的日子。早晨醒來(lái)看朋友圈一位家長(zhǎng)發(fā)布:女兒明天考試,怎么感覺(jué)我比她還緊張,根據(jù)考試時(shí)...
    李靜_2bd9閱讀 1,441評(píng)論 2 4

友情鏈接更多精彩內(nèi)容