赞
踩
在微信小程序中,wx.createSelectorQuery
是用于创建一个 SelectorQuery
对象的方法,而 this.createSelectorQuery
是在组件中获取元素的方法。
使用 wx.createSelectorQuery
创建的 SelectorQuery
对象可以用于获取页面中的元素信息,但是它只能在页面中使用,不能在组件中使用。如果在组件中使用 wx.createSelectorQuery
,会出现获取不到元素信息的问题。
而在组件中,可以使用 this.createSelectorQuery
方法来获取组件内部的元素信息。这是因为组件是小程序中的一个独立模块,它有自己的作用域和生命周期,因此需要使用 this
来获取组件实例。
一般用于获取某个节点的当前位置,以及界面的滚动位置。
- this.createSelectorQuery().select('.selector').boundingClientRect(function(res) {
- console.log(res)
- }).exec()
在微信小程序中,@media媒体查询不支持screen关键字,因为小程序页面是再webview中渲染的,而不是在浏览器中渲染的。
在设置样式时,可以使用 wxss
文件中的 @media
规则来根据屏幕宽度或高度设置不同的样式。
- .bg {
- background:#ffffff
- }
-
- /* 当屏幕宽度小于 750rpx 时应用以下样式 */
-
- @media (max-width: 750rpx) {
- .bg {
- background:#000
- }
- }
-
-
- /* 设备宽度 单位px */
- @media (max-device-width: 350px) {
- .bg {
- background:#000
- }
- }
用户点击保存判断是否开启了相册权限,若没有,弹出开启权限框,若已开启,直接保存图片到相册。
- download() {
- var that = this
- wx.getSetting({
- success: function (res) {
- //判断是否已经授权
- if (res.authSetting["scope.writePhotosAlbum"]) {
- //已经授权,下载图片后保存
- that.saveImageToPhotosAlbum()
- } else if (!res.authSetting.hasOwnProperty("scope.writePhotosAlbum")) {
- //用户第一次使用,调起授权
- wx.authorize({
- scope: 'scope.writePhotosAlbum',
- success() {
- //授权成功,下载图片后保存
- that.saveImageToPhotosAlbum()
- }
- })
- } else {
- //已经拒绝授权,去到设置页面授权
- wx.showModal({
- title: "未授权添加到相册",
- content: "下载素材保存到相册,需打开添加到相册的权限开关",
- confirmColor: "#37c062",
- confirmText: "去设置",
- success(res) {
- if (res.confirm) {
- wx.openSetting({})
- }
- }
- })
- }
- },
- })
- },
- saveImageToPhotosAlbum() {
- wx.downloadFile({
- url: this.data.previewImage,
- success: function (res) {
- wx.saveImageToPhotosAlbum({
- filePath: res.tempFilePath,
- success: function () {
- wx.showToast({
- title: '保存成功',
- icon: 'success',
- duration: 2000
- })
- },
- fail: function () {
- wx.showToast({
- title: '保存失败',
- icon: 'none',
- duration: 2000
- })
- }
- })
- }
- })
- },
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。