免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網(wǎng)

sf問答精選《三》點擊展開再次點擊收回,setData

發(fā)布時間:2017-11-22 17:37 所屬欄目:小程序開發(fā)文檔

本文內(nèi)所有問答,均選自sf.gg網(wǎng)站內(nèi)相關(guān)問答; 問題: 微信小程序怎么做 RSA 加密? 之前在網(wǎng)頁端 RSA 加密密碼用的 JSEncrypt現(xiàn)在要移植到微信小程序,由于 JSEncrypt 會使用到 window 對象,所以無法在小程序中使用 ...

 
 
 

本文內(nèi)所有問答,均選自sf.gg網(wǎng)站內(nèi)相關(guān)問答; 
問題: 
微信小程序怎么做 RSA 加密? 
之前在網(wǎng)頁端 RSA 加密密碼用的 JSEncrypt 
現(xiàn)在要移植到微信小程序,由于 JSEncrypt 會使用到 window 對象,所以無法在小程序中使用。 
(微信小程序的)頁面的腳本邏輯是在JsCore中運行,JsCore是一個沒有窗口對象的環(huán)境,所以不能在腳本中使用window,也無法在腳本中操作組件。 
有人遇到過這樣的需求或者問題么?

答:color_cat

加密怎么會和window對象扯上關(guān)系,我用的rsa是這個http://www.ohdave.com/rsa/

問題: 
求教怎么更改微信小程序中app.js的 globalData 屬性、值? 
app.js中其中的globalData中的userInfont屬性、值要怎么設(shè)置和改變?求教高手、大蝦們 
答:StudyMachine

在page的js中,聲明 
var app = getApp(); 
之后就可以直接使用globalData,如: 
app.globalData.userInfo = openid; 
當然,App()里面的其他屬性,方法都可以使用了

問題: 
關(guān)于微信小程序 wx.request 的1個問題與1個吐槽 
吐槽:wx.request 沒有async屬性,不支持同步請求,坑。 
問題:wx.request 發(fā)出請求后,無論請求接口返回的 HTTP 狀態(tài)碼(200,500)是什么,都會進入 success 回調(diào),什么時候會回調(diào) fail ? 
答:小_秦

同步卡界面, 所以為什么要使用同步? 
進 fail 的情況如下(根據(jù)小程序的IDE中的代碼得出): 
一. 當 wx.request 被調(diào)用時, 隊列已經(jīng)滿了的時候觸發(fā). 
1.png 
二. 當內(nèi)部調(diào)用 checkUrl checkTLS 返回不成功時觸發(fā). 
2.png 
三. 默認情況下請求超過 30 秒后還沒返回時觸發(fā). 
3.png2909156502-58a189185bd74_articlex.png4.png 
后面的就不列了, 如果你需要了解,你可以查看 
"C:\Program Files (x86)\Tencent\微信web開發(fā)者工具\package.nw\app\dist\weapp\appservice\asdebug.js" 
這個文件中關(guān)于 request 的源代碼. 
上面的路徑可能在你那邊不太一樣, 請自行找到 asdebug.js. 
建議不使用同步、可以使用promise配合Toast類蒙版、promise處理異步、讓異步順序等待執(zhí)行就好了

問題: 
小程序setData

 

		
  1. data: {
  2.  
  3. channelList: [{
  4.  
  5. channelName: "aaa",
  6.  
  7. channelId: "0",
  8.  
  9. resList: [{
  10.  
  11. title: 'aaa_111',
  12.  
  13. imgUrl: 'http://...',
  14.  
  15. des: 'blabla...'
  16.  
  17. },{
  18.  
  19. title: 'aaa_222',
  20.  
  21. imgUrl: 'http://...',
  22.  
  23. des: 'blabla...'
  24.  
  25. },...]
  26.  
  27. }, {
  28.  
  29. channelName: "bbb",
  30.  
  31. channelId: "12345",
  32.  
  33. resList: [{
  34.  
  35. title: 'bbb_111',
  36.  
  37. imgUrl: 'http://...',
  38.  
  39. des: 'blabla...'
  40.  
  41. },{
  42.  
  43. title: 'bbb_222',
  44.  
  45. imgUrl: 'http://...',
  46.  
  47. des: 'blabla...'
  48.  
  49. },...]
  50.  
  51. }, {
  52.  
  53. channelName: "ccc",
  54.  
  55. channelId: "4567",
  56.  
  57. resList: []
  58.  
  59. },...]
  60.  
  61. }

類似這種結(jié)構(gòu)的Data,想給channelId:12345的resList增加數(shù)據(jù),現(xiàn)在做法是:

 

		
  1. var channelList = this.data.channelList;
  2.  
  3. for (let i = 0; i < channelList.length; i++) {
  4.  
  5. if (channelList.channelId == '12345') {
  6.  
  7. channelList.resList.concat(arr)
  8.  
  9. }
  10.  
  11. }
  12.  
  13. this.setData({
  14.  
  15. channelList:channelList
  16.  
  17. })

問題是:  1.感覺寫的復雜了,有沒有簡便的方法?  2.channelList的數(shù)據(jù)比較多,僅僅因為修改某一個部分,就通過setData更新了整個channelList數(shù)據(jù),會不會明顯影響性能?  11.png  答:小_秦,回答地址

你可以直接在key上寫好它的完整路徑, 然后來 setData  官方說明:  https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/page.html  12.png  DMEO:  13.png  14.png效果:  15.png  16.png

互動部分:

非常感謝你的回答和demo,之前有想過這種寫法,困惑的是如何將變量寫入key。剛才嘗試了一下也解決了:  this.setData({[myKey]: 'bbb'});  這種寫法需要瀏覽器支持es6,或者是開啟es6轉(zhuǎn)es5的功能(通常情況下轉(zhuǎn)換后的代碼會有點長).  所以還有一種方法也可以達到效果.

 

		
  1. var data = {};//在這里使用變量 拼接要改變的 keydata['xxx' + yyy + 'zzz'] = 'bbb'; //DEMOthis.setData(data);

問題:  微信小程序點擊展開,再次點擊收回類似這種,小白一個沒思路,求大神貼個demo給我學習一下好么  20.png答:HaoyCn

沒有Demo, 提供思路:  小程序內(nèi)的東西都是數(shù)據(jù)驅(qū)動的, 實現(xiàn)展開和收起也需要從數(shù)據(jù)角度考慮, 一個簡單的例子是:

 

		
  1. <view
  2.  
  3. class="{{ 'normalClass' + (item.isExpanded ? 'collapse' : 'expand') }}"
  4.  
  5. >{{item.title}}</view>

對應(yīng)在 JS 里有 item.isExpanded 這樣一個變量來控制.

問題:  小程序 開發(fā) 只需后臺提供接口嗎 其余前端來實現(xiàn)嗎  答:joselee

是的。  微信小程序沒有HTML的常用標簽,而是類似React的微信自定義組件,比如view、text、map等  沒有window變量,但微信提供了全局的getApp()函數(shù)  沒有a標簽鏈接,在小程序中所有頁面的路由全部由框架進行管理,比如wx.navigateTo、wx.redirectTo、wx.switchTab  事件綁定和條件渲染類似Angular  數(shù)據(jù)綁定采用Mustache雙大括號語法  無法操作DOM,通過改變page data(類似React的state)來改變視圖展現(xiàn)  所以如果你熟悉以上提到的所有前端技術(shù)棧,開發(fā)微信小程序你會得心應(yīng)手。



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.szcjxy.com/wxmini/doc/develop/17901.html 復制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服