Meteor: 创建可配置、可复用的template

一个可复用的组件,内部只专注实现自己关注的逻辑,并提供配置能力,使得自己不关注但是依赖的部分可以由外部进行配置。

要使得一个template便于复用,首先,要规划好该template的职责,并严格约束。比如,要制作一个搜索栏,只关注样式,可以输入,可以提交,而不关注的地方就不要硬编码死,应该交给外部配置,或者提供恰当的默认配置同时提供修改配置的能力,比如,button的内容,提交之后要做的事。

那么如何让外部可以配置template呢?无论从外部的template或从router调用我们的template,都可以附带地传递data(或称data context),可以利用这个机制来实现template的外部配置。

我的具体方案如下:

对于一个可复用的template,首先要有一个单独的目录<name>,其下典型地有3个文件,分别是<name>.html(模板文件),<name>.js(设置helpers和events),README.md(描述功能、接口,也即,告知调用者可以传递那些参数,如何配置这个模板,效果如何)

所有的依赖假设为这个模板的数据环境,在html中,直接用{{变量名}}来引用,在helper和event中,用this.<name>或this.data.<name>来引用依赖。

特别地,如果依赖的是一个函数,那么需要用创建一个代理函数来调用目标函数。如举例的搜索栏,若其‘submit form‘事件由外部确定,名称为submitFunc,那么在设置它的时候,代码如下: ‘submit form‘: function() { return this.submitFunc.applay(this, arguments); }

如此,当一个可复用template完成后,外部调用的时候,将配置对象当作data传入即可。例如,若名为search的template要被另一个名为test的template引用,那么test需要配置search,具体方法为,在test的helper中添加一项searchConfig,其值为按照search的约定构成的配置对象,然后在test的template中使用如下代码即可{{> search searchConfig}}。

时间: 2024-10-09 22:41:22

Meteor: 创建可配置、可复用的template的相关文章

使用Tcl脚本调用STC平台的Native API实现测试对象、Device、StreamBlock的创建和配置

环境配置如下: 在Windows的Conmand下操作 # # Configuration file(CommonConFig.tcl) # # Initializing the Script. # This script is used to set common configuration paramters used with the STC-300 class. #Step 1: Load Spirent TestCenter Automation API. # Type in the

Spring Boot 多模块项目创建与配置 (一) (转)

最近在负责的是一个比较复杂项目,模块很多,代码中的二级模块就有9个,部分二级模块下面还分了多个模块.代码中的多模块是用maven管理的,每个模块都使用spring boot框架.之前有零零散散学过一些maven多模块配置的知识,但没自己从头到尾创建和配置过,也快忘得差不多了.这次正好对照着这个项目,动手实践一下,下面我们就开始吧. maven多模块项目通常由一个父模块和若干个子模块构成,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块)相互关联.多模块适用于一些比较大的项

ODI Studio拓扑结构的创建与配置

拓扑结构的创建与配置 一.概念解释 Topology Manager主要用来管理下面5类任务,并将信息存储在主资料库中,供所有模块共享使用. 物理体系结构: 定义各种技术及其数据服务器.物理架构.物理代理.数据服务器瞎可以建立多个物理方案,每个物理方案的实质就是schema. 逻辑体系结构: 定义各种技术及其关联的逻辑架构.逻辑代理.一个逻辑方案需要基于一个或几个物理方案,实质上就是一层抽象,是物理方案的别名. 上下文: 上下文的主要目的是实现逻辑方案多物理方案的多对多关系,比如同一逻辑架构在不

创建broker配置

1.准备工作 ■ 创建oracle11g的primary和standby库,物理standby,最大性能模式 ■ DG_BROKER_START设置为TRUE 2.创建broker配置 DGMGRL> CREATE CONFIGURATION 'DRTEST' AS PRIMARY DATABASE IS 'ora11gn1' CONNECT IDENTIFIER IS ora11gn1; DGMGRL> ADD DATABASE 'ora11gn2' AS CONNECT IDENTIFIE

Hyper-v高可用一之:创建并配置ISCSI

Hyper-v高可用一之:创建并配置ISCSI 前面的博文中给大家介绍了在没有群集或者共享存储的情况下如何对Hyper-v虚拟机进行实时迁移,但是,非群集下的虚拟机,虚拟机实时迁移依然存在很大风险,不是企业部署的最佳实践,需要使用专用的存储设备以及部署故障转移群集实现虚拟机高可用,从而保证业务的连续性.今天这篇博客我们将为大家演示使用ISCSI构建多群集环境下的Hyper-V 群集,以及实施群集下的虚拟机实时迁移 故障转移群集是Windows Server中的一个功能,自从在Windows NT

Provisioning Services 7.6 入门到精通系列之九:创建和配置目标设备

在完成上以上整整八个章节的准备和配置工作,现在即可创建目标设备,无盘PC将通过PXE启动,PVS使用流技术动态.实时地从单个共享映像推送磁盘数据到对应的PC中(即目标设备).然而创建完目标设备普通域账号均无法登录,为此我们还需为目标设备在AD中创建计算机账户,本章节将详细介绍. 1.创建设备 1.1 创建好VM配置BIOS从旧版网络适配器启动,(若使用物理机或瘦客户机同样配置网卡启动即可) 1.2 在没有将目标设备MAC地址做绑定之前是无法正常启动的,如图: 1.3 打开PVS控制台,右键对应的

8.1创建和配置接受域和远程域

1.接受域 接受域是 Microsoft Exchange Server 2013 组织为其发送或接收电子邮件的任何 SMTP 命名空间.接受域包括那些 Exchange 组织对其有权威性的域.当 Exchange 组织为接受域中的收件人处理邮件传递时,该组织即具有权威性.接受域还包括 Exchange 组织为其接收邮件然后中继到组织外部的电子邮件服务器以便传递给收件人的域. 权威域 一个组织可能具有多个 SMTP 域.组织的电子邮件域集是权威域.在 Exchange 2013 中,如果 Exc

build Variants创建不同配置的app(图文详解)

现象描述 开发一个app避免不了在多种环境下运行,比如开发环境.测试环境.正式环境,而根据不同环境要配置不同的变量,在以前,我都是通过注释相关代码实现的,显然这样比较麻烦. 进入正题,那么如何可以一键更改配置呢? 步骤一:配置build.gradle文件的productFlavors节点 productFlavors { moon {//配置的名称,可以随便取 // 具体配置,见后面讲解 } moon_test {//配置的名称,可以随便取 //具体配置,见后面讲解 } ...//还可以创建很多

Servlet过滤器,Servlet过滤器创建和配置

第一:Servlet的过滤器的创建和配置,创建一个过滤器对象需要实现javax.servlet.Filter接口,同时实现Filter的3个方法.        第一方法是过滤器中的init()方法用于对过滤器的初始值进行处理,第二个是destory()方法是过滤器的销毁方法,主要用于释放资源,对于过滤处理的业务逻辑需要编写到doFilter()方法中,在请求过滤处理后,需要调用chain参数的doFilter()方法将请求向下传递给下一个过滤器或者目标资源. (过滤器和Servlet十分相似哟