- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) >
- 微信小程序開(kāi)發(fā)經(jīng)驗分享
小編給大家分享一下微信小程序開(kāi)發(fā)經(jīng)驗分享,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一: 參數傳值的方法
1: data-id
我們可以給HTML元素添加data-*屬性來(lái)傳遞我們需要的值,使用方法說(shuō)明:
(1)設置data-id
<view class="block" bindtap="playTap" data-id="{{modle.id}}">
(2): 取值 + 傳值
playTap:function(e) { const dataset = e.currentTarget.dataset; wx.navigateTo({ url: '../play/index?id='+ dataset.id }) console.log(dataset.id); }
(3):取值
onLoad:function (param) { //頁(yè)面初始化 this.setData({ currentId:param.id }) }
data-注意事項:data-名稱(chēng)不能有大寫(xiě)字母,曾經(jīng)我就因為大寫(xiě)了一個(gè)字母,找了半天的才發(fā)現這個(gè)錯誤..data-*屬性中不可以存放對象
2: 設置id 的方法標識來(lái)傳值
使用方法說(shuō)明:
(1)設置id
<view bindtap=“playTap" id="{{modle.id}}">
(2)取值
通過(guò)e.currentTarget.id獲取設置的id的值,然后通過(guò)設置全局對象的方式來(lái)傳遞數值
3: 在navigator中添加參數傳值
使用方法說(shuō)明
(1)傳值:在navigator的屬性url后拼接?id(參數名字)=要傳遞的值 (如果多個(gè)參數用&分開(kāi) &name=value&…….)
<navigator url="../my/my?id={{item.id}}" wx:for="{{modles}}">
(2)取值:
onLoad (params){ app.fetch(API.detail + params.id,(err,data) => { }) }
二:數據請求封裝
1.將所有的接口放在統一的js文件中并導出
const api = { interface1: 'https://........', interface2: 'https://.......', interface3: 'https://....', ..... } module.exports = api;
2:在app.js中創(chuàng )建封裝請求數據的方法
fetch(url,data, callback) { wx.request({ url, data: data, header: { 'Content-Type': 'application/json' }, success(res) { callback(null, res.data); }, fail(e) { callback(e); } }) },
3: 在子頁(yè)面中調用封裝的方法請求數據
import API from "../../api/api.js"; const app = getApp(); const conf = { data:{ title:'正在拼命加載中...', loadding:true }, onLoad (){ app.fetch(API.hot,{},(err,data) => { }) },
三:使用模板(發(fā)現模板真是個(gè)好東西哦!)
1:定義模板:name設置模板的名字
<template name="homecell"> <view class="item"> </view> </template>
2:使用模板
首先引入模板
<import src="../../commonXml/homecell.wxml" />
然后使用模板is后寫(xiě)模板的name..通過(guò)data來(lái)傳遞需要是數據
<template is="homecell" data="{{item}}"></template>
四:Array比較好用的屬性和方法
Array.isArray() 方法用來(lái)判斷某個(gè)值是否為Array。如果是,則返回 true,否則返回 false。
concat() 方法將傳入的數組或非數組值與原數組合并,組成一個(gè)新的數組并返回.
forEach() 方法對數組的每個(gè)元素執行一次提供的函數(回調函數)。
join() 方法將數組中的所有元素連接成一個(gè)字符串。
keys() 方法返回一個(gè)數組索引的迭代器。
map() 方法返回一個(gè)由原數組中的每個(gè)元素調用一個(gè)指定方法后的返回值組成的新數組
pop() 方法刪除一個(gè)數組中的最后的一個(gè)元素,并且返回這個(gè)元素。
push() 方法添加一個(gè)或多個(gè)元素到數組的末尾,并返回數組新的長(cháng)度(length 屬性值)。
toString() 返回一個(gè)字符串,表示指定的數組及其元素。
五:對象Object常用方法
1 初始化方法
var obj = []; var obj = new obj(); var obj = Object.create(null);
2 添加元素的方法
dic[“key”] = “value”;
3 刪除key的方法
delete dic[“key”];
4 清空詞所有條目
dic.clear();
5 刪除
delete dic;
6 查看所有屬性的方法
Object.keys(obj);
對象的所有鍵名都是字符串,所以加不加引號都可以,如果鍵名是數值,會(huì )被自動(dòng)轉為字符串但是,如果鍵名不符合標識名的條件(比如第一個(gè)字符為數字,或者含有空格或運算符),也不是數字,則必須加上引號,否則會(huì )報錯
7 讀取屬性
obj.name || obj['name']
注意: 數值鍵名不能使用點(diǎn)運算符(因為會(huì )被當成小數點(diǎn)),只能使用方括號運算符。
8 檢查變量是否聲明
if(obj.name) || if(obj['name'])
9 in 運算符用于檢查對象是否包含某個(gè)屬性,如果包含返回true,否則返回false
if ( ‘x' in obj) {return 1}
10 for … in 循環(huán)
用來(lái)遍歷一個(gè)對象的全部屬性
for (var i in obj) { console.log(obj); }
11 with 語(yǔ)句
作用: 操作同一個(gè)對象的多個(gè)屬性時(shí),提供一些書(shū)寫(xiě)的方便
with(obj) { name1 = 1; name2 = 2; }
等同于
obj.name1 = 1; obj.name2 = 2;
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系站長(cháng)郵箱:ts@56dr.com進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2 建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站