最近在閱讀雷磊的《微信小程式開發入門與實踐》一書。
第六章第五節,讀取文章詳情資料,117頁。
獲取指定id號的文章資料,代碼如下
onLoad: function(options) {
var postId = options.id;
this.dbPost = new DBPost(postId);
this.postData = this.dbPost.getPostItemById().data;
this.setData({
post: this.postData
})
有個問題沒搞懂,這里的this.dbPost和this.postData是在哪兒定義的?
uj5u.com熱心網友回復:
看看app.js里面uj5u.com熱心網友回復:
app.js里沒有
在console里輸出,是undefined

uj5u.com熱心網友回復:
那就是你寫錯了,一般是寫 this.data.dbPost或者你定義了方法
uj5u.com熱心網友回復:
給你看原文
uj5u.com熱心網友回復:
按這上面說的你的postid 應該有上個頁面傳值過來uj5u.com熱心網友回復:
你可能沒理解我的問題
,也可能我沒描述清楚問題所在。我的意思是:
按微信小程式要求,頁面中使用的屬性引數需要在page的data中定義,也可以使用setData定義,對吧?
好,那么this.dbPost和this.postData這兩個引數(變數)(實際上關鍵的是this.postData這個引數,因為在setData中用到了這個引數)并未定義就直接拿來使用了,按javascript的要求,變數應該先用var宣告再使用(就像上面一行的var postId=options.id;),而這個this.dbPost和this.postData并未宣告(定義)就直接使用了,而我找不到任何宣告(定義)的地方。
或者換個方式理解,再微信小程式中,并不嚴格要求變數先宣告(定義)再使用,可以拿來就用?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/88435.html
標籤:微信開發
上一篇:安卓 'java.io.File android.content.Context.getCacheDir()' on a null object re
