| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 原生小程序小话题——自定义组件2 -> 正文阅读 |
|
[JavaScript知识库]原生小程序小话题——自定义组件2 |
一、组件的生命周期 1.组件本身的生命周期,写在Component大对象中的lifetimes对象下,如下
2.和页面相关的生命周期 这个和组件没多大联系,主要是组件所在页面的生命周期,反映到组件上,写在Component字段的pageLifetimes
3.behavior当中的生命周期 我们的behavior当中肯定也会有生命周期,按照设计的逻辑想一想,生命周期肯定是不会同名属性替换的,而是都会执行,现在我们在组件之中添加一个behavior,其中包含这样的一些生命周期函数
看一下测试结果 ?成立,而且我们明显的可以看到behavior当中的生命周期是先于组件生命周期执行的 二、数据监听 这个是组件Component当中的observers字段,可以当成vue当中的watch,每当我们使用this.setdata来对data中的数据进行监听的时候,我们就可以进行某些操作 下面是一些关于如何监听的例子,分别是对单个数据的监听、多个数据的监听、对数组对象的监听、使用通配符的监听,此外在methods当中写的则是改变状态的函数
因为我们的组件的props最终是会放到data之中的,所以我们也可以使用这个observer监听传入的数据,我们这边组件中定义了一个name参数
?并加上对参数的监听
在页面上挂载参数
看一下调用改变参数之后的结果 ?成了。 三、组件样式 这边我们来看一下,组件的样式部分的问题,这里面有几个注意点需要说一下,因为有一些样式问题,样式能用class写就用class写。 首先,组件中可以在wxss部分,使用:host的写法去规定基本样式
其次,我们可以通过Component对象中的options对象的styleIsolation来控制组件内外的样式交互 一般默认的样式交互是如下的
这种选项下,内外不影响,此外还有以下的选项,这样的话页面能影响组件,组件内部样式不能影响页面,当然相关的样式之类的限制还有很多,可以去官网上看看,我是觉得有点长
当然我要提醒一下,这种配置可以在json部分进行定义了 当然我们的组件也可以接受一下特定的外部定义的类,使用externalClasses数组就可以接受特定的外部的类
此外,为了方便书写,即使是在内外样式isolated的情况下,可以使用如下的写法
这段代码可以让你使用组件所在page的blue-text样式,要使用父组件的样式,可以采用以下的写法
此外关于样式还有一些内容,都在官网上,我实在写不下去了。 另外,组件还有一部分知识没有写出来,下次再更新吧。 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:25:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |