這篇文章帶給大家的內容是關於小程式中常用的語法的介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
接下來我將會從一個初學者的身份,當然,此後的文章不會對小程式的知識點一一都做很細緻的介紹,主要是對比Android的一些思想,進行一些個人的想法闡述。
api語法的介紹
一、盒子模型Flex
#1、flex-wrap:
nowrap(預設):不換行。
wrap:換行,第一行上方。
wrap-reverse:換行,第一行在下方。
2、justify-content:所有子view在父View顯示的位置
flex-start(預設值):左對齊flex-end:右對齊
center:居中
*space-between:兩端對齊,項目之間的間隔都相等。因此這個可以認為是設定權重佈局,每個子View佔一份。如果子View只有一個,則等同於flex-start
*space-around:平均分佈在該行上,兩邊留有一半的間隔空間。專案之間的間隔比專案與邊框的間隔大一倍。如果(作用在父view上)只有一個子view,則其實就是讓子View居中對齊
space-between屬性圖形展示:
flex-start:與交叉軸的起點對齊。
flex-end:與交叉軸的終點對齊。
center:與交叉軸的中點對齊。
space-between:與交叉軸兩端對齊,軸線之間的間隔平均分佈。
space-around:每根軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。
stretch(預設值):軸線佔滿整個交叉軸。
flex-start:交叉軸的起點對齊。
flex-end:交叉軸的終點對齊。
center:交叉軸的中點對齊。
baseline: 項目的第一行文字的基線對齊。
stretch(預設值):如果項目未設定高度或設為auto,將佔滿整個容器的高度。
在容器(父View)中新增:
display: flex; align-items: center;2)讓一個View佈局顯示在最底層,或最上層,類似於FramLayout佈局
使用z-index屬性:
{ position:absolute; left:0px; top:0px; z-index:-1; }注意:
1)z-index只能在absolute 中起作用
2)z-index:-1,被修飾的該View在最底層顯示(可作為背景) z-index:1 ,在最外層顯示
var:java中的成員變數
let:java中局部變數
var test0 = "" //false
var test1 = "aaaaaaaa" // true
var test2 = null // false
var test3 = 11 // true
var test4 = 0 // false
var test5 = {} // true
總結:這個與java差異還是很大的 1)對於數字型(int、float),只要是非0的數字都是true;
2)對於字串(String),只有是null、和「」空串才是false,其他都是false
3)對於對象,除了對像是null才是false,其他都是true。就算這個物件是一個空的物件{}
(1)函數定義
在page定義:
onShow: function (params) { //方法体 },非page定義:
function test(params){ //方法体}總結:
1.第一種定義必須在最後面要加上「,」逗號,而第二種方式不能加
2.與java不同的是,函數的參數params不用指定類型,所以,理論上呼叫方法的時候可以傳遞任意型別。但是一般不這麼做。個人認為還是java嚴謹比較好,可讀性強。
3.參數params的個數沒有限制
(2)回呼函數 1)函數定義
function request(onFail){ //调用接口 wx.request({ success: function (res) { //接口返回数据 onFail(res) }) }2)函數呼叫
wx.cyou.cache.getCacheValue("key_test", function(result){ console.log("result==", result) })
(3)注意事項
1)小程式不支援函數的重載和函數的重寫
2)函數呼叫函數的時候,函數方法不支援直接傳遞。看下面的範例:
function request1(function1) { request2(function1) } 问题: 这在request1方法调用request2的时候,参数也是一个函数function1,直接将function1传递给request2是不可以的 解决方式: function request1(function1) { request2(new function{ function1() }}) } 在request2方法的回调函数中去调用function1方法4、物件的變數
class Person{
String name; int age;
}
在java中,如果要遍歷取得Person屬性值name、age,和屬性類型String、int。都是用反射去實現的。那麼,在小程式中卻比java 簡單粗暴很多。具體實現for (var propertyName in Person){ var name = propertyName //对象Person的属性(String、int) var value = testInfo[propertyName] // 对象Person的属性值(name、age) }
5、export使用
在调用一个类中的方法或者属性值时,必须要在被调用的方法和属性值,定义的时候用export声明
6、disableScroll使用
问题描述:
有时候,小程序跑在苹果手机上时,会左右滑动退出,也会上下滑动,这样体验不好。这个时候要禁止滑动。
在app.json中,将disableScroll值设置为true 就可以了: "window": { "disableScroll": true }
7、页面page数据的获取与设置
let pages = getCurrentPages() let curPage = pages[pages.length - 1] //获取当前页面 if (curPage.route == url){ //比较获取的页面的url是否跟实际的一致(如url:"pages/order/order") curPage.setData({ //设置数据 usingOrderList: usingOrderList }) }
8、获取所有的页面
let pages = getCurrentPages() // 获取上一个页面 let prePage = pages[pages.length - 2] //给页面设置数据 prePage.setData({ refreshUserInfo:true }) //返回到上一个页面 wx.navigateBack({ delta: 1 })
注意事项:
调用getCurrentPages()不需要在page环境中(可以视为Android中的Context环境),可以在任何地方直接获取,即util等自定义类中同样生效。类似的还有wx.开头的方法
9、showToast时长设置失效问题
let title = new String(msg) //延时弹toast,是为了解决有时候在接口请求后,设置的duration时间不起作用 setTimeout(function () { wx.showToast({ title: title, duration: 1200, icon: "none" }) }, 100)
10、reLaunch跳转失效问题
//延时跳转,是为了解决有时候wx.reLaunch不起作用,设置的时间不起作用 setTimeout(function(){ wx.reLaunch({ url: '/pages/home/home' }) },100)
以上是小程式中常用的語法的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver CS6
視覺化網頁開發工具