templating(模板)

templating特点:

Dynamic Loading动态加载

Directives指令

Component Directive组件指令示例:

@ComponentDirective({
    selector:‘tab-container‘,
    directives:[NgRepeat]
})
export class TabContainer {
    constructor(panes:Query<pane>) {
        this.panes = panes;
    }

    select(selectedpane:pane) { ... }
}

Decorator Directive装饰器指令示例:

@DecoratorDirective({
    selector: ‘[ng-show]‘,
    bind:{‘ngShow:‘: ‘ngShow‘},
    observe: {‘ngShow‘: ‘ngShowChanged‘}
})
export class NgShow {
    constructor(element:Element) {
        this.element = element;
    }

    ngShowChanged(newValue){
        if(newValue){
            this.element.style.display = ‘block‘;
        }else{
            this.element.style.display = ‘none‘;
        }
    }
}

Template Directive模板指令示例:

@TemplateDirective({
    selector: ‘nf-if‘,
    bind: {‘ngIf‘: ‘nfIfChanged‘}
})
export class NgIf {
    constructor(viewFactory:BoundviewFactory, viewport:ViewPort) {
        this.viewFactory = viewFactory;
        this.viewPort = viewPort;
        this.view = null;
    }

    ngIfChanged(value) {
        if (!value && this.view) {
            this.view.remove();
            this.view = null;
        }
        if (value) {
            this.view = this.viewFactory.createView();
            this.view.appendto(this.viewPort);
        }
    }
}
时间: 2024-08-26 07:52:23

templating(模板)的相关文章

框架选型

前面的话 有一个流传较广的笑话,一个人在stackoverflow中提了一个问题,如何使用javascript实现一个数字与另外一个数字相加.最高票回答是你应该使用jQuery插件,jQuery插件可以做任何事情. 历史总是在重演,以前是jQuery,现在可能是react或vue.不同的框架有不同的应用场景,杀鸡不要用牛刀.本文将详细介绍框架选型 框架与库 库(lib)具有以下三个特点: 1.是针对特定问题的解答,具有专业性: 2.不控制应用的流程 3.被动的被调用 框架(frameword)具

初学knockoutjs记录2-Observables监控属性

1.创建带有监控属性的view model knockout建有3个核心特性: Observables监控属性和dependency tracking依赖跟踪 Declarative bindings 生命式绑定 Templating 模板 MVVM and View Models Model-View-View Model(MVVM) 是为了解决用户交互构建的设计模式,它通常被描述为如何将复杂的UI交互简单的分为三个部分: A Model: 应用程序的stored data存储数据模型,包含业

awesome-php中英文资源整理(同步更新)

中文版 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需… 这个列表中的内容有来自 awesome-php 的翻译, 有来自开发者周刊以及个人的积累等. 一个前端组件的列表 awesome-frontend 推荐 学习资源 PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源 PHP网站(PHP Websites) PHP The Right Way – 一个PHP实践的快速参考指导 PHP Best Practices – 一个PHP最佳实践 PHP We

PHP资源列表

Composer Repositories Composer源 Firegento - Magento模块Composer源 Packagist - PHP包的源 PaketHub - 集成的PHP包的源 Private Packagist - 一个PHP的服务,提供Composer包的存储 WordPress Packagist - 使用Composer管理你的WordPress插件 Zend Framework Packages - Zend Framework Composer源 依赖管理

[转]PHP资源列表

转自:http://www.cnblogs.com/CraryPrimitiveMan/p/4437272.html 一个PHP资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 该内容也可以在github的相关项目上浏览. 英文版:awesome-php 中文版:awesome-php-zh_CN github上awesome-php-zh_CN项目的内容会根据awesome-php项目的内容定期更新. 依赖管理 Depen

前端框架选型

框架与库 库(lib)具有以下三个特点: 1.是针对特定问题的解答,具有专业性: 2.不控制应用的流程 3.被动的被调用 框架(frameword)具有以下三个特点: 1.具有控制反转(inverse of control)的功能 2.决定应用程序的生命周期 3.一般来说,集成了大量的库 由下图所示,框架会在特定的时间要求程序执行某段代码.框架决定了什么时候调用库,决定了什么时候要求代码去执行特定功能 而实际上,一个库有时也可以称之为框架,而库里面集成的方法称之为库 框架和库的区别不由实际大小决

PHP那些最好的轮子

PHP那些最好的轮子 Databse 数据库ORM Doctrine 2 License : MIT Source Code Allo点评:Doctrine是功能最全最完善的PHP ORM,社区一直很活跃,对NoSQL也非常迅速的作出了跟进与支持.但之所以没有说Doctrine是最好的,是因为我对PHP究竟有没有必要使用如此庞大的ORM还心存疑虑,平心而论Doctrine的入门门槛实在有些高,尤其是DBAL的提出,更是要把开发者牢牢绑定在Doctrine这艘大船上,用与不用,还是要仔细权衡. R

AngularJS学习---更多模板(More Templating) step 8

1.切换分支 [email protected]:~/develop/angular-phonecat$ git checkout step-8 #切换分支 [email protected]-pc:~/develop/angular-phonecat$ npm start #启动项目 2.需求: 将step 7 中的手机详细信息展示出来,加上各种参数配置,图片展示等等. 3.效果: 这里很明显要比step 7中的信息详细的多,而且效果要好很多.究竟是怎么实现的呢? 3.实现代码: 首先,所有需

Grafana-zabbix配置模板

官方文档:  http://docs.grafana.org/reference/templating/ Grafana展示Zabbix主机监控图形时,一个一个主机添加过于麻烦.想要查看多台主机的监控图形,通过使用配置模板,调用多台主机数据展示!! 1.配置变量 其中query的匹配原则 * returns all groups *.* returns all hosts (from all groups) Servers.* returns all hosts in group Servers