zoukankan      html  css  js  c++  java
  • 小程序组件

    组件

    • 什么是组件?

      组件就是将一个功能进行封装,组件是视图层的基本组成单元,有自己独特的功能
    • 组件的规范

      结构
        样式
        逻辑
        通信方式
        生命周期
        可组合(可以嵌套)
        定义组件
        调用组件(标签的形式)
    • 组件的创建

      小程序中组件由4个文件组成:
        .json  .wxml  .wxss  .js
        
        创建组件实例需要通过Component(Object)函数创建
        创建组件需要在组件的json文件中定义component:true字段指定为一个组件
        
        组件中能够的基础选项:
            
            Properties:接收的数据
            Data:内部数据
            Methods:处理函数
            
        使用组件:
            
            需要在对应的页面或者组件的json文件中定义usingComponents:{}选项
            
            usingComponents:{
                '名-称':'组件路径'
            }
            
            在页面中可以使用 <名-称/>
            名称中不能出现大写字母,规则就是(字_-)
            
        组件的组合可以使用slot插槽来完成,和Vue一样,只不过没有作用域插槽,可以有命名插槽和默认插槽
        
        组件的通信可以通过props传递参数(父子),自定义事件(子父)
            1)父子<my-component test='sss'/>
            2)子父 <my-component bindtest='testFn'/> 组件内部通过this.triggerEvent('test',{detail:对象})

    WXS(WeiXin Script)是小程序的一套脚本语言

    wxs中index.wxs中写入js代码
        
        var msg = "hello world";
        module.exports.message = msg;
    
    需要用的页面中引入
    
        <wxs src="../wxs/index.wxs" module="m1" />
        <view>{{m1.message}}</view>

    组件

    // index页面
    
    <nav-bar bindselect='navselect' class='navbar' test='aaa'/>
    
    // index.js
     navselect(res){
        console.log(res)
      },
     
    // navbar.js中的改变数据之后
    
    this.setData({
        ind: e.target.dataset.id
      },()=>{
        this.triggerEvent('select',{
          ind: e.target.dataset.id
        })
      })
    
    // index.json
    
        {
          "usingComponents":{
            "nav-bar":"../components/navbar/navbar"
          }
        }

    传递数据

    父子: properties
    子父:triggerEvent

    数据data改变

    vue  watch监听
    react setState的回调函数
    小程序  setData的回调函数
  • 相关阅读:
    Window上编译最新版libCef(Branch 2704)(转载)
    在hue 使用oozie sqoop 从mysql 导入hive 失败
    hive 支持更新
    基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
    修改CENTOS7的网卡名(将网卡ens33修改为我们在centos6中常见的eth0)
    config network name
    Java服务部署规范(内部使用)
    MongoDB干货系列1-定期巡检之Mtools
    mongodb validation--像关系型数据库表去使用mongodb
    ntp 服务导致kudu集群不可用
  • 原文地址:https://www.cnblogs.com/2oex/p/9585921.html
Copyright © 2011-2022 走看看