博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
knockout.js模板绑定之利用Underscore.js模板引擎示例
阅读量:6583 次
发布时间:2019-06-24

本文共 1234 字,大约阅读时间需要 4 分钟。

View代码

1 

People

2
    3 4

    ViewModel

    1 var viewModel = {2     people: ko.observableArray([3         { name: 'Rod', age: 123 },4         { name: 'Jane', age: 125 },5     ])        6 };7         8 ko.applyBindings(viewModel);

    整合underscore模板引擎与knockout.js

    1    // 可以单独放在一个js文件中 2     ko.underscoreTemplateEngine = function () { } 3     ko.underscoreTemplateEngine.prototype = ko.utils.extend(new ko.templateEngine(), { 4         renderTemplateSource: function (templateSource, bindingContext, options) { 5             // 预编译和缓存效率的模板 6             var precompiled = templateSource['data']('precompiled'); 7             if (!precompiled) { 8                 precompiled = _.template("<% with($data) { %> " + templateSource.text() + " <% } %>"); 9                 templateSource['data']('precompiled', precompiled);10             }11             // 运行模板并解析成 DOM elements12             var renderedMarkup = precompiled(bindingContext).replace(/\s+/g, " ");13             return ko.utils.parseHtmlFragment(renderedMarkup);14         },15         createJavaScriptEvaluatorBlock: function(script) {16             return "<%= " + script + " %>";17         }18     });19     ko.setTemplateEngine(new ko.underscoreTemplateEngine());

     

    在线示例:

    官方说明:

    转载地址:http://uuxno.baihongyu.com/

    你可能感兴趣的文章
    Subscribe的第四个参数用法
    查看>>
    BZOJ 1008 越狱
    查看>>
    linux中groupadd、groupmod、groupdel、newgrp命令
    查看>>
    Serializable 作用
    查看>>
    图片延迟 jquery lazyload.js
    查看>>
    P1333 瑞瑞的木棍 [并查集][欧拉路径]
    查看>>
    windows系统下,电脑存在文件无法删除,强制删除目录下所有文件
    查看>>
    SIT测试 和 UAT测试
    查看>>
    shell脚本从文件夹中递归提取文件
    查看>>
    VC最常用操作程序20项列举(转)
    查看>>
    Http幂等性
    查看>>
    [ ObjectListView ] - ListView的增强控件 - 前言 (翻译)
    查看>>
    使用两个栈实现队列
    查看>>
    ubuntu /etc/default/locale语言设置.
    查看>>
    最小生成树模板+并查集(隐藏)+结构体排序模板
    查看>>
    160809329 仲兆鹏 3
    查看>>
    js之侧边栏分享
    查看>>
    IGS_学习笔记09_IREP生成服务后台工具Soagenerate.sh
    查看>>
    linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用...
    查看>>
    Ferris教程学习笔记:js示例3.3 累加按钮,自加1
    查看>>