是否有可能在html文档中的新标签中实例化html/js模板?
Is it possible to instantiate html/js template in a new tab inside a html document
我有一个html表,它正在做一些计算与一些jQuery/knockout.js背后。
我脑海中的原始大纲是将这个"内容"打包到一个模板中,并在load事件中加载它的一个实例。该实例将位于窗口内的一个简单的选项卡容器中。
当用户单击一个按钮时,应该使用该模板的另一个实例创建第二个选项卡。
如何才能最有效地做到这一点?特别是我如何将我唯一的html/js代码存储在可重用的模板中以实例化。
我想象一个片段,看起来像这样:
var tabCounter = 0;
var divID = "tabNr";
$("body").on("click","a.newTab",function(){
tabCounter++;
var tabbedContent = $("<div class="tab" id="'" + divID + tabCounter + "'"></div>");
tabbedContent.html('insert whole html block from template here which references the knockout viewmodel --- how?');
return false;
})
感谢您的帮助
我的方法是在视图模型中使用一个表示选项卡的observableArray
。该数组中的每个对象表示每个选项卡中表的数据。
这个数组一开始可能只有一个元素,这可能会让你处于现在的情况。但如果只是向数组中添加一个元素,Knockout就可以呈现下一个选项卡所需的html。
因此,您可以避免通过jQuery将html字符串插入DOM,而这正是Knockout首先要做的。
注意:如果你正在使用JavaScript框架来增强你的选项卡,你可能需要一个自定义绑定来调用框架的方法。
相关文章:
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 如何在用户输入时实例化数组
- 在requirejs中共享实例化对象
- Mongoose TypeError:实例化模式类型的对象时,对象不是函数
- Angular重命名模块后未能实例化模块
- Backbone relational无法实例化两个RelationalModel对象
- 我应该如何用javascript实例化这个日期
- AngularJS出错-无法实例化模块
- 谷歌地图重叠MarkerSpiderfier实例化问题
- 未捕获错误:由于,[$injector:moduler]未能实例化模块polmgr
- ngRoute不是因果报应实例化的
- JavaScript 中的动态实例化
- 在文本框上绑定谷歌地点自动完成,而无需实例化谷歌地图
- UI5 路由不实例化视图
- 在 JavaScript 中,当我们实例化派生对象时,原型的函数隐藏在哪里
- 仅在需要时实例化聚合物元素
- 角度 JS 控制器未实例化
- Angularjs - 更改 html 页面时重新实例化服务
- 是否有可能在html文档中的新标签中实例化html/js模板?
- 从html中实例化reactjs类