1. 程式人生 > >vue 專案中遇到問題解決記錄

vue 專案中遇到問題解決記錄

目錄

4、待續

1、el-input標籤中根據輸入框的內容,實時計算某值

        利用input屬性觸發某方法來進行計算   例如:<el-input v-on:input="matchDataClick" v-model="form.financingMax" el-input>

對應的Js方法如下圖

2、要在彈出框中使用el-dialog標籤觸發彈出框時,彈出框層次要進行設定

      此種情況要在標籤中新增  :modal-append-to-body="false" 來進行層級的設定  例如:

<el-dialog width="35%" title="提示" :visible.sync="dialogFormVisible" :modal-append-to-body="false"> ... ... </el-dialog>

3、瀏覽器端快取資料 下面針對localStorage 和 sessionStorage做個對比分析

        3.1 sessionStorage(臨時儲存) :為每一個數據源維持一個儲存區域,在瀏覽器開啟期間存在,包括頁面重新載入。

        3.2 localStorage(長期儲存) :與 sessionStorage 一樣,但是瀏覽器關閉後,資料依然會一直儲存的本地相應資料夾中

        3.3  sessionStorage和 localStorage的使用方法相同,如下

                (1)儲存:

                        //物件
                       const info = { name: 'hou', age: 24, id: '001' };
                        //字串
                        const str="haha";
                       sessionStorage.setItem('hou', JSON.stringify(info));
                       sessionStorage.setItem('zheng', str);

                (2)獲取

                        var data1 = JSON.parse(localStorage.getItem('hou'));
                        var data2 = localStorage.getItem('zheng');

                 (3)刪除

                        //刪除某個
                        localStorage.removeItem('hou');
                       //刪除所有
                       localStorage.clear();

                (4)監聽

                        Storage 發生變化(增加、更新、刪除)時的 觸發,同一個頁面發生的改變不會觸發,只會監聽同一域名下其他頁面改變 Storage
window.addEventListener('storage', function (e) {
           console.log('key', e.key); console.log('oldValue', e.oldValue);
           console.log('newValue', e.newValue); console.log('url', e.url);
})

                (5)在瀏覽器中檢視

4、給陣列的物件新增checked(Boolean值)的屬性

4.1  錯誤例項:  能賦值成功但是 複選框不能回顯

Array.forEach(element => {

        element.checked = false

})

4.2 正確操作:利用set方法進行新增屬性  能賦值成功但是 且複選框能回顯

Array.forEach(element => {

        this.$set(element,'checked',false)

})

5、js中物件無關聯複製

在js中複製物件,直接等於,如果操作元素據,複製的資料也發生改變,為了避免這種問題可用下面的程式碼複製,這樣obj和element就沒什麼關聯了。

var obj = JSON.parse(JSON.stringify(element))