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请求。

				
时间: 2024-10-13 13:24:21

avalon中的模板绑定(ms-include)的相关文章

Xamarin XAML语言教程控件模板的模板绑定

Xamarin XAML语言教程控件模板的模板绑定 控件模板的模板绑定 为了可以轻松更改控件模板中控件上的属性值,可以在控件模板中实现模板绑定功能.模板绑定允许控件模板中的控件将数据绑定到公共属性上.这时需要使用TemplateBinding.它可以将控件模板中的控件的属性绑定到拥有控件模板的目标视图的父级上的可绑定属性上. 注意:(1)TemplateBinding类似于现有的Binding,不同之处在于TemplateBinding的源总是自动设置为拥有控件模板的目标视图的父级.(2)不支持

Python笔记(五)--Django中使用模板

使用Django开发网站时,如果不使用模板,那么将会很不合理.因为我们所有的html代码都需要被硬编码到我们的Python代码中.我们新建一个工程,然后再在新建一个应用程序,并在其中的views.py文件中添加如下代码: 1 #coding=UTF-8 2 from django.http.response import HttpResponse, Http404 3 import datetime 4 5 def hours_ahead(request,offset): 6 try: 7 of

Windows Store App JavaScript 开发:模板绑定

WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控件的方法相似:在页面中添加一个div元素,将div元素的data-win-control属性设置为WinJS.Binding.Template.定义WinJS库模板以后,需要在WinJS库模板内部添加控件以显示绑定的数据,WinJS库模板内部只能有一个根元素,当绑定多条数据时,需要在WinJS库模板

C++中的模板编程

一,函数模板 1.函数模板的概念 C++中提供了函数模板,所谓函数模板,实际上是建立一个通用函数,其函数的返回值类型和函数的参数类型不具体指定,用一个虚拟的类型来表示.这个通用函数就被称为函数的模板. 当我们在开发中,经常会遇到一些函数体实现方式类似的函数,例如交换两个字符,交换两个数字函数,这两个函数的函数体实现是一样的,凡是这样的函数,我们都可以通过函数模板的方式来只定义一次.在调用函数时,系统会根据实参的数值类型来取代模板中的虚拟类型.再代入函数体中进行计算,这样就实现了定义一个函数模板,

Win10系列:JavaScript 模板绑定

WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控件的方法相似:在页面中添加一个div元素,将div元素的data-win-control属性设置为WinJS.Binding.Template.定义WinJS库模板以后,需要在Win10系列:JavaScript 模板绑定

【Knockout.js 学习体验之旅】(3)模板绑定

本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knockout.js 学习体验之旅](1)ko初体验 [Knockout.js 学习体验之旅](2)花式捆绑 [Knockout.js 学习体验之旅](3)模板绑定 模板引擎 页面是由数据和HTML组件构成的,如何将数据嵌入到HTML组件里面呢?一个比较好的选择是使用模板技术. 回顾下第一篇([Knock

模板绑定

模板绑定 : 通过使用模板绑定,模板可以从应用模板的控件中提取一个值. <Window x:Class="TemplateDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow&

【分享】html5 开发工具——WeX5中的各种绑定方式

今天我想整理一下html5 开发工具——WeX5中的各种绑定方式,下面分为表现类.流程类.交互类 3 种类型分别介绍. 表现类绑定 表现类的绑定属性有visible.text.html.css.style.attr几种,除了css表示css的class之外,其他都是字面意思.示范用法: 布局中加入一个div标签和一个按钮,并设置div标签的绑定属性如下右所示. 这样设定好了绑定关系,然后在 js 中将各绑定属性设置为可观察对象,让其可以自动更新界面: define(function(requir

Django中的模板和分页

模板 在Templates中添加母版: - 母版...html 母版(master.html)中可变化的地方加入: {%block content%}{%endblock%} 在子版 (usermg.html) 中设置如下: {% extends 'master.html' %} {% block content%} <h1>用户管理</h1> {%end block%}  导入小组件的模块: {% include 'model.html' %} #同样会载入model.html中