小程序模板網(wǎng)

微信小程序在開發(fā)中遇到的問題與解決方法

發(fā)布時(shí)間:2018-05-05 14:35 所屬欄目:小程序開發(fā)教程

1.  √

 這種錯(cuò)誤多半是該js文件中沒有Page這個(gè)方法,就算是空的js也必須要把Page({ })寫上去   

 

2.  √

 這種錯(cuò)誤多半是該json文件沒有內(nèi)容,所以必須要加上{ },就算是空內(nèi)容也要加上{ }。

 補(bǔ)一句:小程序里json文件中不允許有注釋不然會(huì)報(bào)錯(cuò)。

 

3.未解決

 這個(gè)問題我不知道怎么解決了。我使用了一個(gè)模板,iconClass在當(dāng)前頁面的js中的data里是一個(gè)數(shù)組,我只想讓它使用第一個(gè)屬性,但是使用數(shù)組的下標(biāo) iconClass[ 0 ]這樣就出現(xiàn)錯(cuò)誤了,如果不要下標(biāo)就是數(shù)組全部輸出。

 

4.  √

 這個(gè)錯(cuò)誤就很明顯了。小程序中的背景圖片不能使用本地的路徑,要么使用在服務(wù)器上的圖片路徑,要么編碼成base64位。    

 image標(biāo)簽才可以使用本地路徑。

 

5.點(diǎn)擊view之后,獲取該view的text值    √

   這個(gè)的解決辦法就是:把view的text值放在data數(shù)據(jù)里面,然后點(diǎn)擊事件觸發(fā)的時(shí)候就獲取對(duì)應(yīng)data的數(shù)據(jù)

6.獲取input輸入框的值:     √

  給input綁定事件:bindinput= ' code (自定義事件名稱)',

  然后在page里面:


code:function(e){ 
    var txt= e.detail.value  //這個(gè)txt就是監(jiān)聽到的值
}

 

7.給每個(gè)單獨(dú)的頁面設(shè)置頂部導(dǎo)航欄的效果:√

  在需要設(shè)置頂部導(dǎo)航欄的頁面的json文件中寫下配置導(dǎo)航欄的代碼:

復(fù)制代碼

{
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#C79C77",
    "navigationBarTitleText": "忘記密碼",
    "navigationBarTextStyle": "white"
}
復(fù)制代碼

  注意:不要寫成這樣哦:

復(fù)制代碼

{
    "window": {
          "backgroundTextStyle": "light",
        "navigationBarBackgroundColor": "#C79C77",
        "navigationBarTitleText": "忘記密碼",
        "navigationBarTextStyle": "white"
    }
}
復(fù)制代碼

  這樣是不行的,要去掉window才可以。如果不配置的話就默認(rèn)使用app.json里面的導(dǎo)航欄配置。

 

8.動(dòng)態(tài)修改元素的css樣式:√


<view style='color:{{bg}}'></view>

 bg是在page的data里面申明的顏色


data: {
    bg:""
}

 然后在某個(gè)事件觸發(fā)的時(shí)候setData該值就能動(dòng)態(tài)修改了,比如觸發(fā)名稱為tap的事件:


tap:function(){
    this.setData({
        bg:"skyblue"
    })
}

 

9.

  在wx:for={{}}后面加上wx:key=""可消除警告

 

10.小程序里的text標(biāo)簽,使用換行的時(shí)候出現(xiàn)的問題:√


<text>合計(jì):
    <text>¥666666</text>
</text>

得到的結(jié)果:

上面的寫法和下面的寫法是不一樣的


<text>合計(jì):<text>¥666666</text></text>

  這就很奇怪了,在HTML中,這不是一樣的嗎。。。反正在微信小程序里,如果text標(biāo)簽后面有換行,顯示的時(shí)候也會(huì)把換行自動(dòng)加進(jìn)去,和HTML中的不一樣。

 

11.小程序中的textarea,有個(gè)auto-height屬性,自增高,本來挺好的屬性,但是有一點(diǎn)小問題√


<textarea placeholder='請(qǐng)輸入留言內(nèi)容' auto-height="true" show-confirm-bar="false"></textarea>

當(dāng)textarea設(shè)置字體大小為29rpx以下時(shí):會(huì)出現(xiàn)下面的情況:

就是當(dāng)文字在第二行時(shí),并不會(huì)自動(dòng)增加高度,只會(huì)出現(xiàn)滾動(dòng)條。只有在第三行出現(xiàn)時(shí)才自增高度

但是當(dāng)字體大小設(shè)置為30rpx以上時(shí),就會(huì)正確的在第二行增加高度。

 

12.

  這種情況多半是在該json文件里面的最后一個(gè)json數(shù)據(jù)多了一個(gè)“,”逗號(hào)。例如:


{
    "navigationBarTitleText": "地址修改",
}

 

13.在使用setData動(dòng)態(tài)修改數(shù)據(jù)的時(shí)候,如果出現(xiàn)數(shù)據(jù)修改了,在調(diào)試器的AppData里面數(shù)據(jù)也在同時(shí)變化,但是就是頁面渲染不了數(shù)據(jù),即總是顯示不出來√

  這種情況多半是setData設(shè)置的數(shù)據(jù)是某個(gè)數(shù)據(jù)里的子數(shù)據(jù),不是根數(shù)據(jù)點(diǎn);例如:

  data里面的某個(gè)數(shù)據(jù)swiperList

 

swiperList:[{        //每個(gè)導(dǎo)航欄商品數(shù)據(jù)
            pid:0,
            adSrc:"../../public/img/index/idx-ad.png",
            //當(dāng)前導(dǎo)航欄所有的商品數(shù)據(jù)
            GoodsList: [{           
                Gid:0,
                imgSrc: "../../public/img/order/order-img.png",
                Gname: "聯(lián)聯(lián)想聯(lián)想聯(lián)想聯(lián)想",
                GnewPrice: "1",
                GoldPrice: "111",
                Gtip: "促銷",
                GtipContent: "顯示折扣8.8折,最后兩小時(shí)",
                Gnum: "0"
            }, {           
                Gid: 11,
                imgSrc: "../../public/img/order/order-img.png",
                Gname: "聯(lián)聯(lián)想聯(lián)想聯(lián)想聯(lián)想",
                GnewPrice: "2",
                GoldPrice: "222",
                Gtip: "促銷",
                GtipContent: "顯示折扣8.8折,最后兩小時(shí)",
                Gnum: "0"
            }],
        }]
復(fù)制代碼

   我要?jiǎng)討B(tài)修改里面GoodsList的值,最初我使用動(dòng)態(tài)修改子數(shù)據(jù)點(diǎn)

復(fù)制代碼

var goods = this.data.swiperList[page].GoodsList[idx];
var num = goods.Gnum;//當(dāng)前商品原來的數(shù)量        
num--;
goods.Gnum = num;//修改增加后的商品數(shù)量
this.setData({
    goods: goods, //修改商品的數(shù)量
})
 

  這樣修改之后,值是修改了,但是就是渲染不出來。最后修改為根數(shù)據(jù)點(diǎn)就正常了。


this.setData({
    swiperList: this.data.swiperList, //修改商品的數(shù)量
})

 

14.

  這個(gè)是小程序獲取設(shè)置權(quán)限的時(shí)候得到的一個(gè)對(duì)象,我想獲取里面scope.userLocation的布爾值,最初我以為對(duì)象都是可以用“.”來進(jìn)行操作的,但是這樣不行,只有通過下面這種方式。

  res.authSetting["scope.userLocation"],這樣就能獲取到需要的布爾值了。因?yàn)樽x取對(duì)象的屬性,有兩種方法,一種是使用點(diǎn)運(yùn)算符,還有一種是使用方括號(hào)運(yùn)算符,如果key值為數(shù)字也用方括號(hào)運(yùn)算符。


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/24249.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢