LinUI学习5 自定义组件的使用
LinUI学习5 自定义组件的使用
LinUI采用的是自定义组件,因此我们需要知道如何使用自定义组件。
1、导入所需要的LinUI组件
因为LinUI组件大小为500kb左右,因此这里采用全部导入的方式
首先需要使用npm下载详情见之前的学习笔记1
或者参考官网链接:https://doc.mini.talelin.com/start/
在所需要的页面json中引入对应的组件,
也可以直接在app.json中直接引入
示例:
"usingComponents": { "l-gird":"/miniprogram_npm/lin-ui/grid/index", "l-gird-item":"/miniprogram_npm/lin-ui/grid-item/index" },
2、获取组件所需要的数据
在model文件夹下新建一个category.js文件用于请求数据(http请求已经封装好,详见前面的笔记)
const { Http } = require("../utils/http");
class Category {
  static async getGridCategory(){
  return await Http.request({
    url:`category/grid/all`
  })
  }
}
export{
  Category
}
3、编写自定义组件(以gird宫格为例)
我们需要在LinUI提供的组件的基础上再自定义生成一个组件
因此我们需要
新建一个components文件夹用于存放自定义的组件
在文件夹内新建一个category-grid文件夹 并在此文件夹下新建component(一般命名为index)

并在对应的文件夹下修改,这里css没有定义
js:
// components/category-grid/index.js Component({ /** * 组件的属性列表 */ properties: { grid:Array }, /** * 组件的初始数据 */ data: { }, /** * 组件的方法列表 */ methods: { } })
wxml:
<view class="container">
  <l-grid>    
    <block wx:for="{{grid}}">
      <l-grid-item>
        <view>
          <image src="{{item.img}}">
          </image>
          <text>
            {{item.title}}
          </text>
        </view>
      </l-grid-item>
    </block>
  </l-grid>
</view>
4、使用自定义组件
我们在第三步的时候已经自定义了一个category-grid组件
示例:我们需要在home.wxml调用到我们第三步骤定义的组件
因为只有该页面使用到category-grid组件所以只需要在home.json中定义
"usingComponents": { "s-category-grid":"/components/category-grid/index" }
在js中使用封装好的http请求
data: { grid:[] }, /** * 生命周期函数--监听页面加载 */ onLoad: async function (options) { this.initAllData() }, async initAllData() { const grid = await Category.getGridCategory() this.setData({ grid:grid }) },
在wxml中直接调用即可使用该组件
  <s-category-grid grid="{{grid}}">
  </s-category-grid>

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号