gpt4 book ai didi

knockout.js - 用 requirejs 和下划线 knockout 以获取外部模板

转载 作者:行者123 更新时间:2023-12-04 03:00:36 26 4
gpt4 key购买 nike

我正在尝试使用 knockout 、要求、下划线构建一个小型应用程序。

我有我的索引页面,我在其中调用 require 并且它指向 main.js 如果我保留我的配置

require.config({

paths: {
jquery: 'vendor/jqm/jquery_1.7_min',
knockout: 'vendor/knockout/knockout-2.2.0',
underscore : 'vendor/underscore/underscore_amd',
text: 'vendor/require/text',
templates: '../templates'
}

});

define(['app'], function(app) {

});

我的索引的其余部分没有正文。所以当它被加载时,它会调用 app.js
define(['jquery','knockout', 'appViewModel'],
function($, ko, appViewModel)
{
ko.applyBindings(new appViewModel());
});

然后这应该调用 appViewModel 可以正常工作。这是我有点困惑的地方,因为我想从 appViewModel 加载模板

所以我正在尝试做这样的事情
define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {

//call and load in template

});

这是我有点卡住的地方,我知道例如我可以使用
  template:_.template(homeViewTemplate)

但我真的不确定在这里加载模板的最佳方式

我看过 https://github.com/ifandelse/Knockout.js-External-Template-Engine但这不适用于require,如果你在没有require的情况下使用它,只是将一些文本放在一个html文件中并在我使用jQuery mobile时调用它,它不会添加类等。

我想知道是否有人能指出我正确的方向.. 我想我真的在想办法在这里输入什么代码
    define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {

//call and load in template

});

调用 homeview 模板。

谢谢

最佳答案

我使用 jQuery 将模板 HTML 插入到页面中,然后应用我的 Knockout 绑定(bind)。

$('#selector').append(homeViewTemplate);
ko.applyBindings(VIEWMODEL, $('#selector')[0]);

您可能还对我关于 advanced knockout binding 的 WIP 文章感兴趣.

关于knockout.js - 用 requirejs 和下划线 knockout 以获取外部模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com