Avalon-数据填充

本文详细介绍了Avalon框架中的数据填充技术,包括{{}}的使用规则,如何避免样式闪动,禁止插值表达式定义标签属性,以及ms-text、ms-html、ms-value的用法和过滤器的应用,特别是自定义过滤器的测试实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2 数据填充

2.1 {{}}里可以定义本文属性,{{}}里的内容会被ms-controller等vm内的对应属性值替换。

但是注意:不可以为avalon对象单独增加属性。

       <div class="container">
		<div class="row">
			<div class="col-md-12" ms-controller="first">
				<p class="text-muted">{{name}}:{{color}}</p>
				<div class="col-md-12" ms-controller="second">
					<p class="text-primary">{{name}}:{{color}}</p>
					<div class="col-md-12" ms-controller="fourth">
						<p class="text-danger">{{name}}:{{color}}</p>
					</div>
				</div>
			</div>
		</div>
	</div>
avalon.define({
		$id:'first',
		name:'my first demo',
		color:'as you like'
	});
	avalon.define({
		$id:'second',
		name:'test nest',
		color:'i like purple'
	});
var controller=avalon.define({
		$id:'fourth',
		name:'test ms-skip',
	});
	controller.color='it will not appear in my page';
	avalon.scan();
	console.log(controller);

2.2 避免{{}}在avalon未扫描完define时出现,可以在页面中定义一个

.ms-controller{

         visibility:hidden;

}

为添加了插值表达式的标签添加该样式,当scan()完成后会自动移除该样式,避免了样式闪动。

2.3 不能用插值表达式定义标签属性

2.4 {{prop|html}},其中,html可以是元素节点或者NodeList

可以在html代表的元素节点内插入prop文本,再插入DOM中。

2.5 修改插值表达式界定符{{}}

2.6 ms-text

2.7 ms-html

测试2.6, 2.7

       <div class="container">
		<div class="row">
			<div class="col-md-12" ms-controller="prop">
				<p class="text-muted" ms-text="content"></p>
				<p class="text-muted" ms-html="content"></p>
			</div>
		</div>
	</div>

        avalon.define({
		$id:'prop',
		content:'<h1>test ms-text and ms-html</h1>'
	});
	avalon.scan();

2.8 ms-value

        <div class="input-group" ms-controller="value">
		<input type="text" class="form-control" ms-value="content">
		<input type="text" class="form-control" ms-value="test {{content+' !'}}">
	</div>
       avalon.define({
		$id:'value',
		content:'ms-value'
	});
	avalon.scan();

2.9 过滤器

测试2.9 自定义过滤器

<div class="page-header">
		<div>{{'Cynthia'|findName}}</div>
	</div>

avalon.define({
		$id:'value',
		content:'ms-value'
	});
	avalon.scan();
avalon.filters.findName=function(str){
	return {
		'Cynthia':'李岳阳',
		'Viki':'静'
	}[str];
};









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值