avalon 异步请求的页面

本文详细介绍了Avalon框架的数据绑定机制及其工作原理,包括如何通过ms-include加载子模板并进行扫描,以及如何处理异步请求加载的内容。同时提供了具体的代码示例。

http://www.tuicool.com/articles/6JnErm

表单复选框->单选按钮设置:http://www.bubuko.com/infodetail-772830.html

        avalon的数据绑定需要经过扫描才能起作用,框架自身会在domReady时进行一次扫描,通过ms-include加载子模板时,也会对当前模板进 行一次扫描。 如果用户的页面是自己AJAX加载回来,或自己对元素设置了ms-*绑定属性,或是自己用require等动态加载库,在它的回调里定义VM,请不要忘了 执行avalon.scan() 如果能确定扫描的区域(注:2.0后必须传dom节点参数,否则不起作用),那么最好也请传入一个元素节点,让其更快地执行.

1.异步请求页面(test.js):

$("#main").load('test.html',function(){

       /*
        * 以下代码可写到此处,也可写到test.html页面下方,如2.所示
        * 
        */  
        var vm = avalon.define({
	    $id: "ddd",
	    name: "situzhengmei"
	});
	
	//十分重要,通过ajax加载回来的页面,必须使用scan方法初始化,且必须为原生dom节点
	avalon.scan(document.getElementsByTagName('body')[0]);     

});

2.页面加载完成后的扫描(test.html):

<head>
      <!-- 重要,IE下会因为编码问题,无法正常使用avalon  -->
      <meta charset="UTF-8">
</head>

<body>
	<div id="ddd" ms-controller="ddd">
	     <input ms-duplex="@name">
	     <p>Hello,{{@name}}!</p>
        </div>
 </body>
 
 
<script type="text/javascript">
	var vm = avalon.define({
	    $id: "ddd",
	    name: "situzhengmei"
	});
	
	//十分重要,通过ajax加载回来的页面,必须使用scan方法初始化,且必须为原生dom节点
	avalon.scan(document.getElementsByTagName('body')[0]);
</script>

 

转载于:https://my.oschina.net/cccyb/blog/719649

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值