knockout.js - 如何组合来自不同 HTML 文件的模板

标签 knockout.js

由于 Knockout 的各个模板都保存在脚本标签中,我认为我可以设置 src标签的属性并从单独的文件加载 HTML。天真地这样做根本行不通,所以要么

  • 有一些技巧可以让模板的绑定(bind)与 src 一起使用。我需要使用的标签
  • 从不同文件加载模板有不同的方法

  • (另外两种可能——3,这个项目的所有程序员都应该修改同一个巨大的文件,该文件将在启动时由浏览器加载,4,不要将 Knockoutjs 用于比玩具更大的东西项目——我认为是等价的。)

    最佳答案

    浏览器不会响应 src在任何类型不是各种“javascript”类型之一的任何东西上,它都会尝试将结果作为脚本执行。

    虽然有几个选择:

  • 使用可以远程拉取模板的模板引擎(最好的在这里:https://github.com/ifandelse/Knockout.js-External-Template-Engine)。
  • 在包含模板的脚本标签上循环并加载它们。像这样的东西会使用 src 拉取内容。作为位置。如果您的模板尚未准备好,您在调用 applyBindings 时需要小心。
    $("script[type='text/html']").each(function(index, el) { $.get($(el).attr("src"),
        function(response) {
            $(el).text(response); });
    }); 
    
  • 以下是我不久前考虑过的一些其他选项:http://www.knockmeout.net/2011/03/using-external-jquery-template-files.html
  • 关于knockout.js - 如何组合来自不同 HTML 文件的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402558/

    相关文章:

    javascript - Angular 2在ngFor中显示/隐藏偶数/奇数项目的换行标签

    javascript - knockout : editing data with easy rollback to previous value

    javascript - knockout 复选框问题

    jquery - knockout 搜索过滤器不起作用

    javascript - knockout : Mapping with multiple keys

    javascript - Knockout js从元素内容初始化可观察值

    knockout.js - 具有 "as"别名的 Foreach 绑定(bind)在 IE9 中无法正常工作

    jquery - Knockout.js、映射插件和 moment.js - 格式化/映射 json 日期

    javascript - knockout foreach 环绕 4

    knockout.js - 当值保持不变时,如何强制 knockout 订阅?