微信小程序 數(shù)據(jù)封裝,參數(shù)傳值等經(jīng)驗分享
微信小程序開發(fā)總結(jié):
一: 參數(shù)傳值的方法
1: data-id
我們可以給HTML元素添加data-*屬性來傳遞我們需要的值,使用方法說明:
(1)設(shè)置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) {
//頁面初始化
this.setData({
currentId:param.id
})
}
data-注意事項:data-名稱不能有大寫字母,曾經(jīng)我就因為大寫了一個字母,找了半天的才發(fā)現(xiàn)這個錯誤..data-*屬性中不可以存放對象
2: 設(shè)置id 的方法標(biāo)識來傳值
使用方法說明:
(1)設(shè)置id
<view bindtap=“playTap" id="{{modle.id}}">
(2)取值
通過e.currentTarget.id獲取設(shè)置的id的值,然后通過設(shè)置全局對象的方式來傳遞數(shù)值
3: 在navigator中添加參數(shù)傳值
使用方法說明
(1)傳值:在navigator的屬性url后拼接?id(參數(shù)名字)=要傳遞的值 (如果多個參數(shù)用&分開 &name=value&.......)
<navigator url="../my/my?id={{item.id}}" wx:for="{{modles}}">
(2)取值:
onLoad (params){
app.fetch(API.detail + params.id,(err,data) => {
})
}
二:數(shù)據(jù)請求封裝
1.將所有的接口放在統(tǒng)一的js文件中并導(dǎo)出
const api = {
interface1: 'https://........',
interface2: 'https://.......',
interface3: 'https://....',
.....
}
module.exports = api;
2:在app.js中創(chuàng)建封裝請求數(shù)據(jù)的方法
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: 在子頁面中調(diào)用封裝的方法請求數(shù)據(jù)
import API from "../../api/api.js";
const app = getApp();
const conf = {
data:{
title:'正在拼命加載中...',
loadding:true
},
onLoad (){
app.fetch(API.hot,{},(err,data) => {
})
},
三:使用模板(發(fā)現(xiàn)模板真是個好東西哦!)
1:定義模板:name設(shè)置模板的名字
定義模板
<template name="homecell">
<view class="item">
</view>
</template>
(2)使用模板首先引入模板
<import src="../../commonXml/homecell.wxml" />
然后使用模板is后寫模板的name..通過data來傳遞需要是數(shù)據(jù)
<template is="homecell" data="{{item}}"></template>
四:Array比較好用的屬性和方法
- Array.isArray() 方法用來判斷某個值是否為Array。如果是,則返回 true,否則返回 false。
- concat() 方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并,組成一個新的數(shù)組并返回.
- forEach() 方法對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)(回調(diào)函數(shù))。
- join() 方法將數(shù)組中的所有元素連接成一個字符串。
- keys() 方法返回一個數(shù)組索引的迭代器。
- map() 方法返回一個由原數(shù)組中的每個元素調(diào)用一個指定方法后的返回值組成的新數(shù)組
- pop() 方法刪除一個數(shù)組中的最后的一個元素,并且返回這個元素。
- push() 方法添加一個或多個元素到數(shù)組的末尾,并返回數(shù)組新的長度(length 屬性值)。
- toString() 返回一個字符串,表示指定的數(shù)組及其元素。
五:對象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);
對象的所有鍵名都是字符串,所以加不加引號都可以,如果鍵名是數(shù)值,會被自動轉(zhuǎn)為字符串但是,如果鍵名不符合標(biāo)識名的條件(比如第一個字符為數(shù)字,或者含有空格或運(yùn)算符),也不是數(shù)字,則必須加上引號,否則會報錯6 讀取屬性
obj.name || obj['name']
注意: 數(shù)值鍵名不能使用點(diǎn)運(yùn)算符(因為會被當(dāng)成小數(shù)點(diǎn)),只能使用方括號運(yùn)算符。7 檢查變量是否聲明
if(obj.name) || if(obj['name'])
8 in 運(yùn)算符用于檢查對象是否包含某個屬性,如果包含返回true,否則返回false
if ( ‘x' in obj) {return 1}
9 for … in 循環(huán)用來遍歷一個對象的全部屬性
for (var i in obj) {
console.log(obj);
}
10 with 語句作用: 操作同一個對象的多個屬性時,提供一些書寫的方便
with(obj) {
name1 = 1;
name2 = 2;
}
等同于
obj.name1 = 1;
obj.name2 =
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
javascript的創(chuàng)建多行字符串的7種方法
多行字符串的作用是用來提高源代碼的可讀性.尤其是當(dāng)你處理預(yù)定義好的較長字符串時,把這種字符串分成多行書寫更有助于提高代碼的可讀性和可維護(hù)性.在一些語言中,多行字符串還可以用來做代碼注釋. 大部分動態(tài)腳本語言都支持多行字符串,比如Python, Ruby, PHP. 但Javascript呢?2014-04-04
js使用removeChild方法動態(tài)刪除div元素
本節(jié)為大家介紹了js使用removeChild方法動態(tài)刪除div元素,需要的朋友可以參考下2014-08-08
iframe的父子窗口之間的對象相互調(diào)用基本用法
iframe在使用時可能會涉及到父子窗口之間傳值和方法的相互調(diào)用,研究了一下其實非常簡單,就那么幾個用法而已,在此與大家分享下,感興趣的朋友可以參考下2013-09-09
Django模板繼承 extend標(biāo)簽實例代碼詳解
這篇文章主要介紹了Django模板繼承 extend標(biāo)簽實例代碼,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05
JavaScript實現(xiàn)元素滾動條到達(dá)一定位置循環(huán)追加內(nèi)容
下面小編就為大家分享一篇JavaScript實現(xiàn)元素滾動條到達(dá)一定位置循環(huán)追加內(nèi)容,具有很好的參考價值,希望對大家有所幫助2017-12-12

