avalon中的模板绑定(ms-include)

本文介绍 Avalon 框架中模板的两种引入方式:内部模板和外部模板。内部模板通过页面内的脚本标签定义,外部模板则通过 AJAX 请求加载。文中详细解释了 ms-include 和 ms-include-src 的用法,并提供了代码示例。

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

avalon中的模板引入分为 内部模板 和 外部模板

1.内部模板

[html]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="en">  
  4.     <meta charset="UTF-8">  
  5.     <title></title>  
  6.     <style>  
  7.         .ms-controller,.ms-important,[ms-controller],[ms-important]{  
  8.             display: none;  
  9.             visibility: hidden;  
  10.         }  
  11.     </style>  
  12. </head>  
  13. <body>  
  14. <div ms-controller="test">  
  15.     <p>{{xxx}}</p>  
  16.     <div ms-include="'tpl'"></div>  
  17. </div>  
  18. </body>  
  19. <script src="../avalon.js"></script>  
  20. <script type="avalon" id="tpl">  
  21.     here, {{ 3 + 6 * 5 }}  
  22. </script>  
  23. <script>  
  24.     avalon.ready(function(){  
  25.   
  26.         avalon.define({  
  27.             $id: "test",  
  28.             xxx: "引入内部模板"  
  29.         });  
  30.   
  31.         avalon.scan();  
  32.     });  
  33. </script>  
  34. </html>  
注意,ms-include的值要用引号括起,表示这只是一个字符串,这时它就会搜索页面的具有此ID的节点,取其innerHTML,放进ms-include所在的元素内部。否则这个tpl会被当成一个变量, 框架就会在VM中检测有没有此属性,有就取其值,重复上面的步骤。

如果大家想在模板加载后,加工一下模板,可以使用 data-include-loaded 来指定回调的名字。
如果大家想在模板扫描后,隐藏loading什么的,可以使用 data-include-rendered 来指定回调的名字。

同时使用时是先加载后渲染的关系
由于ms-include绑定需要定义在一个元素节点上,它的作用仅仅是一个占位符,提供一个插入位置的容器。 如果用户想在插入内容后,去掉这容器,可以使用data-include-replace="true"。

2.外部模板

创建一个html文件,比如:tmpl.html,内容为:

[html]  view plain  copy
  1. <div>这是一个独立的页面</div>  
  2. <div>它是通过AJAX的GET请求加载下来的</div>  
然后我们这样引入它:

[html]  view plain  copy
  1. <div  ms-include-src="'tmpl.html'"></div>  
注意,ms-include-src需要后端服务器支持,因为用到同域的AJAX请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值