微信小程序 WXML、WXSS 和JS介绍及详解
近日,我接触到微信小程序的相关资料,对其中涉及的WXML、WXSS和JS有了更深入的了解。在此,与大家分享我的一些心得和体验。
关于微信小程序的开发工具,虽然模拟器和真机调试存在差异,但建议大家在真机上进行调试,以获取更准确的实验结果。毕竟在实际设备上的体验更加真实可靠。
接下来是WXML部分。它与HTML有一定的相似性,但也有其独特之处。比如,小程序的WXML标签需要严格遵循规范,单标签必须以/>结尾。官方推荐使用的基础标签
接下来是WXSS部分。它与CSS非常相似,基本所有的CSS都支持,并且小程序还提供了rpx这个单位用于布局。WXSS不支持大括号嵌套,因此CSS animation无法使用,但transition是可用的。引入字体和本地资源也是不可用的,因此icon的设计可能需要采用其他方式实现。在编写WXSS时,需要注意规则的写法,不能采用集联的方式。每个class都需要写得很明确,以避免重名的问题。
微信小程序的开发涉及许多细节和技巧。建议开发者们在实际开发中多加注意和尝试,以充分利用这些工具构建出优秀的小程序应用。也欢迎大家加入微信小程序应用号交流群 563752274,与更多开发者一起分享经验和技巧。
希望以上分享对大家有所帮助!随着前端技术的不断发展,小程序的开发逐渐受到广泛关注。关于小程序中的样式和脚本,有一些重要的特性和规则需要开发者了解和掌握。
在样式方面,比如 `app.wxss` 和各个页面 `wxss` 的覆盖关系,如果存在同名规则,页面的样式会覆盖应用的样式,而不是两者合并。比如 `li.current {color: red;}` 这样的写法在小程序中是支持的,而 `first-child`、`last-child` 和 `nth-child` 等伪类目前并不支持。
接下来,关于 JavaScript 运行环境,它与视图运行环境是隔离的。这意味着 JavaScript 无法直接操作视图元素,只能通过事件获取时机和 `setData` 方法来修改数据,从而改变视图。目前 JavaScript 面临的一个问题是无法获取页面像素级的宽度和高度。所有事件回调的单位都是像素(px),而不是响应式像素(rpx),这使得在某些情况下,如使用 canvas 绘图时,开发者无法确定绘图的边界。
关于 `setData` 方法,如果连续两次调用并传递的值相同,视图并不会更新(详见 1.3)。在使用 `navigate` 进行页面跳转时,可以通过 queryString 的方式传递参数,这些参数会在页面的 `onLoad` 事件中作为对象传入。而对于 `navigate back`,目前并没有官方的数据通讯机制,但可以通过 `getApp()` 获取全局对象来实现自定义通讯。使用 canvas 的 `getActions` 方法后,actions 数组会被清空,因此连续调用可能会得到空数组。
关于小程序开发者工具,它是用 nw 写的。从底层源码来看,WXML 的确存在一个和拼装的过程。尽管开发者工具表现出一些原生特性,比如自动聚焦能自动呼出键盘,但从小程序对 css 的支持以及 webview 的一些 bug 来看,它更像是基于 webview 的。某些原生组件,如 map 和 canvas,可能是用的原生视图,叠加在 webview 上。
以上是关于小程序开发中一些重要特性和规则的介绍,希望能对大家有所帮助。感谢大家的阅读和支持!如果有任何疑问或需要进一步的解释,请随时提问。
通过 `cambrian.render('body')` 渲染文章内容,为开发者提供清晰、生动的阅读体验。
编程语言
- 微信小程序 WXML、WXSS 和JS介绍及详解
- 微信小程序开发之数据存储 参数传递 数据缓存
- JavaScript中switch语句的用法详解
- 在vue中使用SockJS实现webSocket通信的过程
- JQuery实现动态添加删除评论的方法
- Javascript 完美运动框架(逐行分析代码,让你轻松
- 初学asp者必看
- PHP获取真实客户端的真实IP
- Nodejs express框架一个工程中同时使用ejs模版和ja
- PHP学习记录之常用的魔术常量详解
- jquery获取css的color值返回RGB的方法
- webpack源码之loader机制详解
- js的各种排序算法实现(总结)
- .Net Core WebApi部署在Linux服务器上的方法
- ThinkPHP like模糊查询,like多匹配查询,between查询,i
- windwos下使用php连接oracle数据库的过程分享