企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Component构造器 [TOC] ### 定义段与示例方法 Component构造器可用于定义组件,调用Component构造器时可以指定组件的属性、数据、方法等。 ![](https://box.kancloud.cn/d59f78317394a7d7af00aa561c5079bb_1045x395.png) ### 组件的生命周期 ![](https://box.kancloud.cn/c16fb90842ab8a6f3a03b11536d13d28_1022x392.png) created 组件实例化,但节点树还未导入,因此这时不能用setData attached 节点树完成,可以用setData渲染节点,但无法操作节点 ready(不是onReady) 组件布局完成,这时可以获取节点信息,也可以操作节点 moved 组件实例被移动到树的另一个位置 detached 组件实例从节点树中移除 ![](https://box.kancloud.cn/0f0357ba0fafbf4edb8a5b254b6836e9_985x459.png) ![](https://box.kancloud.cn/4b83298c5d4b8598c1d57f5a51f8a57b_1156x697.png) ### component 的使用 更多关于[component](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html) #### component使用模板目录 1.创建components目录 2.在其中添加任意名字目录(success) 3.在该目录下新建任意名字的component(index) ![](https://box.kancloud.cn/9bf5d0848a55a56e55a66e0bac96b583_249x610.png) #### 例 ![](https://box.kancloud.cn/75c609290a2ab859a02b9bcef624740d_302x290.gif) ##### success>index.wxml ``` <icon type="{{type?'success':'cancel'}}" size="23" color="#abcdef" bindtap="handleClick"></icon> <text>{{param}}</text> ``` ***** ##### success>index.js ``` Component({ properties: { src: { type: Boolean }, param:{ type:String } }, data: { }, methods: { //1. handleClick() { var type = this.data.type; this.setData({ type:!type }) console.log(this.data); } } }) ``` 点击icon执行函数,同时`console.log(this.data)`打印出数据如下 ![](https://box.kancloud.cn/ca937aa6454fc7bf480b8938d1d291a2_489x266.png) ***** ##### success>index.json ``` { "component": true, "usingComponents": {} } ``` ***** ***** ##### index>index.json 定义component组件的标签名和文件地址 ``` { "usingComponents":{ "v-success":"/components/success/index" } } ``` ***** ##### index>index.wxml >param为自定义传参 ``` <v-success param="{{child}}"></v-success> ``` ***** ##### index>index.js >定义参数child的内容 ``` Page({ data:{ child:"child" } }) ``` ***** ### component 的使用 更多关于[component](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html) #### component使用模板目录 1.创建components目录 2.在其中添加任意名字目录(success) 3.在该目录下新建任意名字的component(index) ![](https://box.kancloud.cn/9bf5d0848a55a56e55a66e0bac96b583_249x610.png) #### 例 ![](https://box.kancloud.cn/75c609290a2ab859a02b9bcef624740d_302x290.gif) ##### success>index.wxml ``` <icon type="{{type?'success':'cancel'}}" size="23" color="#abcdef" bindtap="handleClick"></icon> <text>{{param}}</text> ``` ***** ##### success>index.js ``` Component({ properties: { src: { type: Boolean }, param:{ type:String } }, data: { }, methods: { //1. handleClick() { var type = this.data.type; this.setData({ type:!type }) console.log(this.data); } } }) ``` 点击icon执行函数,同时`console.log(this.data)`打印出数据如下 ![](https://box.kancloud.cn/ca937aa6454fc7bf480b8938d1d291a2_489x266.png) ***** ##### success>index.json ``` { "component": true, "usingComponents": {} } ``` ***** ***** ##### index>index.json 定义component组件的标签名和文件地址 ``` { "usingComponents":{ "v-success":"/components/success/index" } } ``` ***** ##### index>index.wxml >param为自定义传参 ``` <v-success param="{{child}}"></v-success> ``` ***** ##### index>index.js >定义参数child的内容 ``` Page({ data:{ child:"child" } }) ``` *****