欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

小程序子組件修改properties問(wèn)題 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >

小程序子組件修改properties問(wèn)題

發(fā)表時(shí)間:2021-1-11

發(fā)布人:葵宇科技

瀏覽次數(shù):131

如何修改,子組件中來(lái)自父頁(yè)面,傳遞進(jìn)來(lái)properties數(shù)據(jù)問(wèn)題?

在日常開發(fā)中,相信經(jīng)常會(huì)有很多人遇到要自己手動(dòng)封裝一個(gè)彈窗的時(shí)候,這個(gè)彈窗需要由父組件來(lái)控制顯示,也就是從父組件傳遞一個(gè)變量 isHidden 進(jìn)子組件,子組件在 properties 中接受,
注意: 子組件的properties 一般都是單項(xiàng)數(shù)據(jù)流,子組件不能,修改來(lái)來(lái)自父組件的數(shù)據(jù),

這樣就有個(gè)問(wèn)題了,有時(shí)候,當(dāng)你想在子組件中 控制自身彈窗 的 顯示隱藏 就沒(méi)辦法做到了,只能靠子組件向父組件通訊,利用時(shí)間triggerEvent來(lái)通知父組件修改 isHidden ,這樣就很麻煩了, 冗余了很多函數(shù);

沒(méi)辦法做到自身關(guān)閉自身

那么如何不用子父通訊來(lái)達(dá)到效果呢?
請(qǐng)看代碼:

//  父組件
page({
 data:{
       iShidden:false  //傳遞給 子組件
  }
}})
------------------------------------------------------
// 子組件
Component({
  properties: {
    iShidden: {
      type: Boolean,
      value: true, //true 就隱藏 false 就顯示
    }
  },
  methods:{
      //當(dāng)點(diǎn)擊關(guān)閉時(shí)
      onTap:function(){
       // 獲取頁(yè)面總棧
        let pages = getCurrentPages();
         //currPage 就是當(dāng)前的頁(yè)面,這樣就獲取到了當(dāng)前頁(yè)面的實(shí)例   
        let currPage  = pages[pages.length - 1];  //    [  page.length-1 ]是當(dāng)前頁(yè),  [pages.length - 2]上一頁(yè), 以此類推
       // 接下來(lái)就是騷操作的時(shí)候了
          currPage.setData({ iShidden:true});
         // 拿到頁(yè)面實(shí)例,就意味著,你可以在當(dāng)前頁(yè)面操作其他頁(yè)面的數(shù)據(jù), 調(diào)用函數(shù)等....
      }
  }
})

是不是覺(jué)得很騷呢?
有了這個(gè)方法,你甚至可以顛覆 以往 vue,小程序 中的 子父組件通訊的規(guī)則;
可以通過(guò) currPage 頁(yè)面實(shí)例,將子組件中的值, 給設(shè)置到任意其他頁(yè)面去, 再也不用通過(guò) triggerEvent去傳了

的確是很騷的一個(gè)操作, 不過(guò)像這種邪門歪道偶爾用用就好啦, 為啥?

從一開始, 各類框架,各類狀態(tài)庫(kù),就強(qiáng)調(diào)了, 單向數(shù)據(jù)源的理念, vuex的統(tǒng)一數(shù)據(jù)源,有mutation , ,都是有一個(gè)單向數(shù)據(jù)流理念在, 如果沒(méi)有單向數(shù)據(jù),任何地方的修改,都會(huì)讓你的數(shù)據(jù)不穩(wěn)定,你不知道何時(shí)會(huì)被修改,導(dǎo)致各種 問(wèn)題 bug,

所以盡量減少使用這樣的方法setData

相關(guān)案例查看更多