小程序组件传值和引入sass的方法(使用vant Weapp组件库)


Posted in Javascript onNovember 24, 2020

1.生命周期

1.onLoad():页面加载时触发,一个页面只加载一次。
2.onShow():页面显示切换的时候触发
3.onReady():页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互
4.onHide():页面卸载时触发

2.小程序的框架:

小程序框架有两个层,一是视图层,一是逻辑层。

框架的视图层:
1.由 WXML 与 WXSS 编写,由组件来进行展示。
2.将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。
3.WXML(WeiXin Markup language) 用于描述页面的结构。
4.WXS(WeiXin Script) 是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
5.WXSS(WeiXin Style Sheet) 用于描述页面的样式。
6.组件(Component)是视图的基本组成单元。

逻辑层:
1、小程序开发框架的逻辑层由 JavaScript 编写。 2、逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。
3、由于框架并非运行在浏览器中,所以 JavaScript 在 web 中一些能力都无法使用,如 document,window 等。
4、开发者写的所有代码最终将会打包成一份 JavaScript,并在小程序启动的时候运行,直到小程序销毁。类似
ServiceWorker,所以逻辑层也称之为 App Service。

1.APP():表示的是注册程序,必须在app.js中注册,且不能注册多个。接收的是object参数,其指定小程序的生命周期函数等。
2.Page():表示的是注册一个页面,接收的是object参数,其指定页面的初始数据、生命周期函数、事件处理函数。
3.setData的使用:setData函用于将数据从逻辑层发送到视图层(异步),同时改变对应的this.data的值(同步)因此,直接修改this.data但是不调用this.setData()不改变页面的状态,造成数据不一致。this.setData()会触发视图的更新。

3、什么是自定义组件?
小程序中常常会有一些通用的交互模块,比如“下拉选择列表”、“搜索框”、“日期选择器”等。这些界面交互模块可能会在多个页面中用到,逻辑也相对独立。然而,用传统的小程序开发方法来实现这样的模块是非常繁琐的。面对这个情况,小程序基础库提供了让开发者自己创建界面组件的特性,称之为“自定义组件”。通过这个特性,开发者就能够将这样的交互模块抽象成界面组件,使界面代码组织变得非常灵活。

3.2、使用场景

(1) 多个页面用到同样的东西
(2) 页面功能很多,很复杂,使用组件来拆分逻辑

3.3、自定义组件组成

(1)json文件 用于于放置一些最基本的组件配置

(2)wxml 文件 组件模版

(3)wxss 文件 组件的样式(无法直接使用全局样式,需要通过@import导入)

(4)js 文件 组件的 JS 代码,承载组件的主要逻辑

4、使用组件
(1)新建自定义组件文件

在根目录新建components文件夹,然后右键新建自定义组件目录,最后右键新建Component

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

(2)组件json文件配置

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

(3)组件wxml编写

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

(4)导入自定义组件
(4.1)在父组件json文件的usingComponents中导入组件

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

(4.2)在父组件wxml文件中以组件名作为标签使用组件

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

效果

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

二、父子组件通信

1、父传子
(1)在父组件中的子组件标签添加属性,给子组件传递数据

小程序组件传值和引入sass的方法(使用vant Weapp组件库)
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
小程序组件传值和引入sass的方法(使用vant Weapp组件库)

(2)子组件在js中通过properties接收,可以指定接收数据类型

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

2、子传父
(1)在父组件的子组件标签自定义事件,传给子组件

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

(2)子组件用this.triggerEvent(‘父组件自定义事件', ‘要传递的参数'),触发父组件传过来的自定义事件

小程序组件传值和引入sass的方法(使用vant Weapp组件库)
小程序组件传值和引入sass的方法(使用vant Weapp组件库)

三、在微信小程序中使用less/sass

微信小程序中的样式文件wxss等同于css,并不支持less或sass语法。所以需要把整个项目拖到(visual Studio Code)中
1.安装

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

2.下载安装了Easy Sass 后,首先需要修改一下vscode的配置文件setting.json,增加的配置如下:

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

3创建一个sass可以进行编译了

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

一定要在visual Studio Code中编译,不可以在小程序中进行编译

使用vant Weapp组件库 下载npm init -y下载npm i通过 npm 安装npm i @vant/weapp -S --production修改 app.json将 app.json 中的 “style”: “v2” 去除修改 project.config.json,放入setting中:

小程序组件传值和引入sass的方法(使用vant Weapp组件库)

在app.js局部引入

小程序组件传值和引入sass的方法(使用vant Weapp组件库)
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
小程序组件传值和引入sass的方法(使用vant Weapp组件库)

到此这篇关于小程序组件传值和引入sass的方法(使用vant Weapp组件库)的文章就介绍到这了,更多相关小程序组件传值和引入sass内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JS应用之禁止抓屏、复制、打印
Feb 21 Javascript
各种常用浏览器getBoundingClientRect的解析
May 21 Javascript
JavaScript读取中文cookie时的乱码问题的解决方法
Oct 14 Javascript
如何用ajax来创建一个XMLHttpRequest对象
Dec 10 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
Jul 08 Javascript
使用jquery写个更改表格行顺序的小功能
Apr 29 Javascript
使用node+vue.js实现SPA应用
Jan 28 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
Sep 17 Javascript
JS库之Highlight.js的用法详解
Sep 13 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
深入浅析Vue中的 computed 和 watch
Jun 06 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 Javascript
js实现抽奖功能
Nov 24 #Javascript
前端 javascript 实现文件下载的示例
Nov 24 #Javascript
如何使用 JavaScript 操作浏览器历史记录 API
Nov 24 #Javascript
JavaScript实现鼠标移入随机变换颜色
Nov 24 #Javascript
原生js实现表格循环滚动
Nov 24 #Javascript
浅析VUE防抖与节流
Nov 24 #Vue.js
解决vue页面刷新,数据丢失的问题
Nov 24 #Vue.js
You might like
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
有趣的python小程序分享
2017/12/05 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
python实现文本界面网络聊天室
2018/12/12 Python
CSS3实现网站商品展示效果图
2020/01/18 HTML / CSS
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
平安家庭示范户事迹
2014/06/02 职场文书
物理学专业自荐信
2014/06/11 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
你会写请假条吗?
2019/06/26 职场文书
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server