前端面試小結(jié)(5)

微信小程序的路由跳轉(zhuǎn)方法

1、navigateTo:(打開新頁面)保留當(dāng)前頁(隱藏),跳轉(zhuǎn)到指定頁
wx.navigateTo 或使用組件 <navigator open-type="navigateTo"/>
保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面,使用 wx.navigateBack 可以返回到原頁面。

2、redirectTo:(頁面重定向)關(guān)閉當(dāng)前頁(卸載),跳轉(zhuǎn)到指定頁
wx.redirectTo 或使用組件 <navigator open-type="redirectTo"/>
3、navigateBack:頁面返回
wx.navigateBack 或使用組件 <navigator open-type="navigateBack">
4、switchTab:(Tab 切換)只能用于跳轉(zhuǎn)到tabbar頁面,并關(guān)閉其他非tabbar頁面,tabbar之間做切換
wx.switchTab 或使用組件 <navigator open-type="switchTab "/>

5、wx.reLanch:(Tab 切換) 關(guān)閉所有頁面,打開到應(yīng)用內(nèi)的某個頁面
wx.reLaunch 或使用組件 <navigator open-type="reLaunch"/>

tip: wx.navigateTo 和 wx.redirectTo 不允許跳轉(zhuǎn)到 tabbar 頁面,只能用 wx.switchTab 跳轉(zhuǎn)到 tabbar 頁面

屬性用法:
          url:         類型是String     跳轉(zhuǎn)非 tabBar 的頁面的路徑 , 路徑后可以帶參數(shù)。參數(shù)與路徑之間使用?分隔,參數(shù)鍵與參數(shù)值用=相連,不同參數(shù)用&分隔;如 'path?key=value&key2=value2'
          success:     類型Function     接口調(diào)用成功的回調(diào)函數(shù)
          fail:        類型Function     接口調(diào)用失敗的回調(diào)函數(shù)
          complete:    類型Function     接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

微信小程序相對單位

rpx:rpx單位是微信小程序中css的尺寸單位,rpx可以根據(jù)屏幕寬度進行自適應(yīng)。規(guī)定屏幕寬為750rpx。如在 iPhone6 上,屏幕寬度為375px,共有750個物理像素,則750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素


單位換算.png

微信小程序?qū)崿F(xiàn)傳參數(shù)的幾種方法

1、微信小程序中wxml中用data-id傳數(shù)據(jù)

wxml:
<view bindtap=“touch” data-id="{{id}}"></view> //{{id}}這里的id為js里面設(shè)置的數(shù)據(jù);
需要注意的是,這里的data-后面的值是不區(qū)分大小寫的。獲取值是只能用小寫獲取,頁面?zhèn)髦荡笮懖蛔鲄^(qū)分
js:

touch:function(e){
var id = e.target.dataset.id;
console.log(id);
}
e.currentTarget 代表的是,注冊了監(jiān)聽點擊事件的組件。在本例中,就是外層的View(包含了兩個TextView).

e.target 代表的是,實際觸發(fā)了點擊事件的組件。(因為注冊點擊監(jiān)聽事件的組件,是整個外層View,點擊View中的任何部位,都會觸發(fā)View注冊的方法)
2、navigator 跳轉(zhuǎn)時

wxml頁面(參數(shù)多時可用“&”)
<navigator url='../index/index?id=1&name=aaa'></navigator>
或者添加點擊事件,js用navigateTo跳轉(zhuǎn)傳參,兩種效果一樣

wx.navigateTo({
  url: '../index/index?id=1&name=aaa',
  })

js頁面 在onLoad里直接獲取

onLoad: function (options) {
 //頁面初始化 options為頁面跳轉(zhuǎn)所帶來的參數(shù)
 var id = options.id //獲取值
},

小程序優(yōu)劣勢

小程序優(yōu)點:

1、方便快捷,即用即走。

不需要再下載什么APP啦,既費流量,又占空間內(nèi)存。小程序就是方便,即用即走。

2、速度快、不占內(nèi)存

因為小程序前端代碼都是存在微信服務(wù)器上的,在騰訊云端存放呢,所以無需加載,直接就打開了,速度也比較快。并且還不占用手機內(nèi)存。

3、安全穩(wěn)定、保密性強

其實小程序就類似蘋果商店,首先需要審核才能發(fā)布。其次小程序通信采用的是https訪問,SSL加密通信,并且小程序樣式代碼都封裝在微信小程序里面,所以安全性更高,更穩(wěn)定。

4、功能豐富,場景豐富

可以調(diào)用比H5更多的手機系統(tǒng)功能來進行開發(fā),例如GPS定位、錄音、拍視頻、重力感應(yīng)等,能開發(fā)更豐富的使用場景。

5、開發(fā)成本低、維護簡便

同樣的功能,做一個APP估計需要十幾萬甚至幾十萬,而開發(fā)一個小程序,一般幾千元就搞定了。維護起來也比較簡單方便。

6、附近定位、入口眾多

開放的入口比較多,除了通過掃碼,發(fā)送朋友,搜索,附近等常用入口外,還能與公眾號關(guān)聯(lián),群發(fā)文章嵌入,公眾號菜單鏈接等。

小程序缺點:

1、微信小程序只有1M的大小,這樣導(dǎo)致無法開發(fā)大型一些的小程序。所以目前你會看到很多小程序真的很小很簡單。

2、小程序的技術(shù)框架還不穩(wěn)定,開發(fā)方法時常有修改,導(dǎo)致短時間內(nèi)經(jīng)常要升級維護,或許這能解析為什么小程序只能1M大小,怕部署太大型的項目會出大問題。

3、不能直接分享到朋友圈,哎呀,少了一個重要的推廣方式。

4、需要像APP一樣審核上架,這點比HTML5即做即發(fā)布要麻煩些


微信小程序 解析html格式內(nèi)容

1.首先在github上下載wxParse
當(dāng)?shù)穆窂剑?a target="_blank">https://github.com/icindy/wxParse
2.把下載下來的文件夾里的wxParse文件復(fù)制到小程序項目下
3.開始操作
1)在app.wxss文件中,引入wxParse的樣式表

@import "/page/wxParse/wxParse.wxss";

2)在需要解析html內(nèi)容的頁面對應(yīng)的js文件里引入wxParse

 var WxParse = require('../../wxParse/wxParse.js');

3)通過調(diào)用WxParse.wxParse方法來設(shè)置html內(nèi)容

WxParse.wxParse(bindName , type, data, target,imagePadding)

1.bindName綁定的數(shù)據(jù)名(必填)

2.type可以為html或者md(必填)

3.data為傳入的具體數(shù)據(jù)(必填)

4.target為Page對象,一般為this(必填)

5.imagePadding為當(dāng)圖片自適應(yīng)是左右的單一padding(默認為0,可選)

4) 在解析的文件對應(yīng)的js文件里面寫入:

Page({
            data: {
              },
            onLoad: function () {
              var that = this;
              wx.request({
              url: '', 
              method: 'POST',
              data: {
                  'id':13
              },
              header: {
                  'content-type': 'application/json'
              },
              success: function(res) {
                  var article = res.data[0].post;
                  WxParse.wxParse('article', 'html', article, that,5);
              }
          })
        }
      })

在解析的文件的wxml文件里引入

 <import src="../../wxParse/wxParse.wxml"/>
 <template is="wxParse" data="{{wxParseData:article.nodes}}"/>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容