js中傳遞對象的鍵名的方法

起因,我們在小程序中經常會設置或更改  data 中的變量  (我這裏只考慮每次只修改一個變量的情況)

代碼是這樣寫的

this.setData({
    currentIndex:e.detail.currentIndex
})
基本上每個方法中都有改變變量的值

這個代碼要三行,看着不爽,於是我就想在 app.js中定義一個公用的函數    因爲每個頁面上都有 app=getApp()

於是在app.js下就設計了一個函數

setDataOne(paramkey, value, _this){
    _this.setData({
        paramkey:value
    })
}
之後就在頁中這樣調用

app.setDataOne("currentIndex",e.detail.currentIndex,this);
一行就完成了,

 

咋一看,代碼好像沒有問題,但是一測試,就有問題了,

問題的原因在於,js的對象的  鍵,不支持使用 字符串來傳參    所以這個 “currentIndex” 當鍵 傳過去是不行的  

豆辦上找到這個文章可以瞭解下,跟本文關係不太大    https://www.douban.com/note/625698916/

我的解決辦法是 修改app.setDataOne  這個函數

代碼如下:

setDataOne(paramkey,value,_this){
     let obj={};
     obj[paramkey] = value;
    _this.setData(obj)
}
這樣就解決問題了,當然解決辦法還有很多,我只記錄下我的解決過程
原文鏈接:https://blog.csdn.net/hjh15827475896/article/details/102523131

發佈了19 篇原創文章 · 獲贊 9 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章