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

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

1.内部模板

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .ms-controller,.ms-important,[ms-controller],[ms-important]{
            display: none;
            visibility: hidden;
        }
    </style>
</head>
<body>
<div ms-controller="test">
    <p>{{xxx}}</p>
    <div ms-include="'tpl'"></div>
</div>
</body>
<script src="../avalon.js"></script>
<script type="avalon" id="tpl">
    here, {{ 3 + 6 * 5 }}
</script>
<script>
    avalon.ready(function(){

        avalon.define({
            $id: "test",
            xxx: "引入内部模板"
        });

        avalon.scan();
    });
</script>
</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,内容为:

<div>这是一个独立的页面</div>
<div>它是通过AJAX的GET请求加载下来的</div>
然后我们这样引入它:

<div  ms-include-src="'tmpl.html'"></div>
注意,ms-include-src需要后端服务器支持,因为用到同域的AJAX请求。

                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值