一:修改數據后頁面不渲染
分享者:向朔1992,原文地址
說明
去年從小程序一開始出來到現在,我一直是比較看好和保持一定的關注度的,小程序的掀起的波浪我覺得一開始是在前端及其他技術開發人群中的,這是我第一次有意識的親眼目睹了一個新技術的發展,還是感覺比較榮幸的。
唱衰小程序?我的觀點是肯定不可能,因為現在每天提交審核的小程序還在繼續增加,而且有些小程序確實很好用,比如摩拜的掃碼騎車,還有我上周去KTV,直接用小程序掃屏幕上的二維碼,就可以綁定房間,然后通過小程序點歌,切歌,發表情包等方便好玩的事情,所以,在我看來,有些應用場景是非常適合小程序的,以后生活中的更多場景會更多的應用小程序。
截止到目前,小程序的系列文章寫了有十幾篇,基本上是解決開發中的一些問題,踩過的坑。我的小程序也已經寫的差不多了,但是公司的https加密認證還沒有弄好,所以只能暫且擱置在那里了。
數據修改不生效
今天繼續要介紹一個setData()的問題。
我們經常會這樣寫:
-
var that = this;
-
wx.getStorage({
-
key: 'user',
-
success: function(res){
-
console.log(res.data)
-
that.data.params.uuid = res.data.uuid;
-
that.data.params.ticket = res.data.ticket;
-
that.data.params.courseUuid = options.courseUuid;
-
that.data.params.isCompany = options.isCompany;
-
-
that.fetchData();
-
that.getShareList();
-
}
-
})
我們給data對象進行了一些賦值操作,但是發現接著使用這些數據的時候是不對的,我們賦值的數據并沒有成功的渲染到頁面。找了好久之后我發現,原來要想數據立馬生效,必須要調用一下setData()方法才能有用,所以上面的代碼修改如下:
-
var that = this;
-
wx.getStorage({
-
key: 'user',
-
success: function(res){
-
console.log(res.data)
-
that.data.params.uuid = res.data.uuid;
-
that.data.params.ticket = res.data.ticket;
-
that.data.params.courseUuid = options.courseUuid;
-
that.data.params.isCompany = options.isCompany;
-
-
that.setData({
-
params: that.data.params
-
})
-
-
that.fetchData();
-
that.getShareList();
-
}
-
})
微信小程序的開發暫告一段落,后面條件滿足了會上傳審核的,如果有興趣到時候可以搜索“華企商學院”來體驗。
二:設置全局變量
為了提高程序的可用性我們在做項目的時候一定要設置全局變量
微信小程序里面有個app.js,我們可以在這個里面設置全局變量,
-
globalData:{
-
userInfo:null,
-
username1:"woshihaiyong168"
-
}
在其他.js中引用
-
var testuname = getApp().globalData.username1;
-
console.log(testuname)
這樣就提高了代碼的可用性!!!
三:自定義屬性
微信小程序 自定義屬性
-
<view class='showList ' bindtop='shopPost' data-shopId='item.goods_id' ></view>
js 接值
-
shopPost:function(event){ var postId = event.currentTarget.dataset.postid }
|