1.配置页面路径

./app.json

{
"pages":[
"pages/index/index",
"pages/logs/logs",
"pages/abstractCom/abstractCom",
"pages/com1/com1",
"pages/com2/com2"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}

    2.声明抽象组件 abstractCom

./pages/abstractCom/abstractCom.json

{
"component": true,
"componentGenerics": {
"abstract": true
},
"usingComponents": {}
}

./pages/abstractCom/abstractCom.wxml

<!--pages/abstractCom/abstractCom.wxml-->
<abstract></abstract>

3.声明抽象组件会用到的实例子组件,动态组件com1

./pages/com1/com1.json

{
"component": true,
"usingComponents": {}
}

   4.声明抽象组件会用到的实例子组件,动态组件com2

./pages/com2/com2.json

{
"component": true,
"usingComponents": {}
}

   5.声明使用抽象组件的主页面

./pages/index/index.json

{
"usingComponents": {
"abstract-com": "../abstractCom/abstractCom",
"com1": "../com1/com1",
"com2": "../com2/com2"
}
}

./pages/index/index.wxml

<!--index.wxml-->
<view class="container">
<abstract-com generic:abstract="com1"></abstract-com>
<abstract-com generic:abstract="com2"></abstract-com>
</view>

抽象节点的默认组件

抽象节点可以指定一个默认组件,当具体组件未被指定时,将创建默认组件的实例。默认组件可以在 componentGenerics 字段中指定:

声明抽象组件 abstractCom

./pages/abstractCom/abstractCom.json

{
"component": true,
"componentGenerics": {
"abstract": {
"default": "../com1/com1"
}
},
"usingComponents": {}
}

./pages/index/index.wxml

<!--index.wxml-->
<view class="container">
<abstract-com generic:abstract="com1"></abstract-com>
<abstract-com generic:abstract="com2"></abstract-com>
<abstract-com></abstract-com>
</view>

【微信小程序】抽象组件使用示例的更多相关文章

  1. Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库

    Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库 文档 https://phonycode.github.io/wuss-weapp 扫码体验 使用微信扫一扫体验小程序组 ...

  2. Wuss Weapp 微信小程序 UI 组件库

    微信小程序 UI 组件库 Github地址 https://github.com/phonycode/wuss-weapp 文档 https://phonycode.github.io/wuss-we ...

  3. 微信小程序 MinUI 组件库系列之 price 价格组件

    MinUI 是基于微信小程序自定义组件特性开发而成的一套简洁.易用.高效的组件库,适用场景广,覆盖小程序原生框架.小程序组件化框架等,并且提供了高效的命令行工具.MinUI 组件库包含了很多基础的组件 ...

  4. 微信小程序image组件binderror使用例子(对应html、js中的onerror)

    官方文档  binderror HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong' ...

  5. 微信小程序倒计时组件开发

    今天给大家带来微信小程序倒计时组件具体开发步骤: 先来看下最终效果: git源:http://git.oschina.net/dotton/CountDown 分步骤-性子急的朋友,可以直接看最后那段 ...

  6. 微信小程序input组件抖动及textarea组件光标错位解决方案

    问题一: 使用微信小程序input组件时,在移动端唤起focus或blur事件时,因光标占位导致内容出现叠影及抖动现象. 解决方案: 用<textarea>组件代替了<input/& ...

  7. 5个最优秀的微信小程序UI组件库

    开发微信小程序的过程中,选择一款好用的组件库,可以达到事半功倍的效果.自从微信小程序面世以来,不断有一些开源组件库出来,下面5款就是排名比较靠前,用户使用量与关注度比较高的小程序UI组件库.还没用到它 ...

  8. 微信小程序弹窗组件

    概述 自己封装的一个比较简单微信弹窗小组件,主要就是教会大家对微信小组件的用法和理解,因为微信小程序对组件介绍特别少,所以我就把自己的理解分享给大家 详细 代码下载:http://www.demoda ...

  9. 微信小程序的组件总结

    本文介绍微信小程序的组件 视图容器 基础内容 表单组件 导航组件 媒体组件 视图容器 view 布局容器 <view hover-class='bg'>222</view> 可 ...

  10. 微信小程序UI组件库 iView Weapp快速上手

    概述 今天在网上突然看到iView新出了一个微信小程序的组件库iView Weapp,自己就上手试了一下,发现用起来还是不错的,把自己使用的过程与大家分享下. 一 预览iView组件 1.可以在手机上 ...

随机推荐

  1. Django简介(MVC、MTV)

    Django简介 MVC Model(模型)- 应用程序中处理数据逻辑部分且与数据库交互,用于存取数据的部分 View(视图)- 用于处理后的数据界面展示,且视图通常是由模型数据创建的,是用户看到并与 ...

  2. zz详解深度学习中的Normalization,BN/LN/WN

    详解深度学习中的Normalization,BN/LN/WN 讲得是相当之透彻清晰了 深度神经网络模型训练之难众所周知,其中一个重要的现象就是 Internal Covariate Shift. Ba ...

  3. tornado模板的使用

    一. 配置模板路径 settings中使用template_path来指定模板的路径, 实例化服务对象时加载进去即可. 二. 模板的使用 1. 使用self.render()方法可返回指定的html页 ...

  4. Salesforce 版本控制 - VS Code + GitHub + Salesforce

    使用VS Code开发Salesforce有个很好的地方是可以联接GitHub进行代码版本控制,点击查看使用VS Code开发SalesForce 第一步:安装GIthub Desktop Githu ...

  5. GreenPlum 大数据平台--集群恢复

    一,问题描述 :::: gpinitstandby:greenplum01:gpadmin-[ERROR]:-Cannot use -n option when standby master has ...

  6. 关于DTO的定义问题。以及C#语言扩展的思考。

    数据传输对象 是我们经常用到的一个东西.有时候我们称之为的ViewModel也属于其中之一. 但是以往,我们总是 复制 实体类型的一些字段 然后单独创建这些对象.然后我们使用对象映射工具 进行值层面的 ...

  7. 如何修改SQL Server 2008 R2数据库的内存

    本篇经验将和大家介绍如何修改SQL Server 2008 R2数据库的内存,希望对大家的工作和学习有所帮助! 工具/原料   SQL Sever 2008 R2数据库已安装 方法/步骤   1 打开 ...

  8. mac解决安装提示“xxx软件已损坏,打不开,您应该将它移到废纸篓”的提示

    如果没有“任何来源”选项则运行: macOS Sierra设置说明 若已安装了最新系统 macOS Sierra 则有可能出现某些安装包已损坏.显示未激活.打开崩溃等的提示!!原因是因为新系统屏蔽了任 ...

  9. 【layui】【laydate】设置可以选择相同的年份范围

    1.效果: 2.解决方法: 修改laydate.js源码 全局查询T.prototype.setBtnStatus这个只有一个,就是点击控件时调用的事件,里面添加下面代码 if( this.confi ...

  10. 明解C语言 入门篇 第九章答案

    练习9-1 /* 将字符串存储在数组中并显示(其2:初始化) */ #include <stdio.h> int main(void) { char str[] = "ABC\0 ...