Knockout.js 使用HTML到PDF转换器击出JS
我到处寻找这个问题的答案,也许答案就是——它不存在,但希望有人有一些魔力 我正在使用Knockout在一个页面上绑定几个表单。这一切都非常有效。然而,尝试将这些表单发送到PDF转换器是一个挑战Knockout.js 使用HTML到PDF转换器击出JS,knockout.js,knockout-2.0,Knockout.js,Knockout 2.0,我到处寻找这个问题的答案,也许答案就是——它不存在,但希望有人有一些魔力 我正在使用Knockout在一个页面上绑定几个表单。这一切都非常有效。然而,尝试将这些表单发送到PDF转换器是一个挑战 呈现的HTML仍然显示为敲除y。我已经尝试使用$('body').html()获取呈现的DOM,但仍然获取具有数据绑定属性的html标记。是否有某种方法可以获取最终呈现的纯HTML以传递给PDF转换器?您可以在afterRender事件中将呈现的元素添加到DOM之前获取这些元素。有关更多信息,请参阅 如果
呈现的HTML仍然显示为敲除y。我已经尝试使用$('body').html()获取呈现的DOM,但仍然获取具有数据绑定属性的html标记。是否有某种方法可以获取最终呈现的纯HTML以传递给PDF转换器?您可以在afterRender事件中将呈现的元素添加到DOM之前获取这些元素。有关更多信息,请参阅 如果需要访问最终呈现的元素,请创建自定义绑定():
viewModel=ko.array([
{name:“Bungle”,键入:“Bear”},
{姓名:“乔治”,键入:“河马”},
{name:“Zippy”,键入:“Unknown”}
]);
ko.bindingHandlers.GetRenderElements={
更新:函数(元素、值访问器){
//使用超时,以便浏览器有时间渲染元素
setTimeout(函数(){
var html=$(element.html();
警报(html);
}, 1000);
}
};
应用绑定(视图模型);
注意:如果您使用虚拟元素,您应该告诉knockout允许GetRenderElements绑定访问这些元素,请参阅:我已经研究过了,但我不确定如何将其返回到DOM本身,以呈现完整的文档并推送到PDF转换器。除了输入文本字段外,这很有效。那些有点松鼠。谢谢你的回答!
<body data-bind="getRenderedElements: viewModel">
<ul data-bind="foreach: viewModel">
<li data-bind="text: name"></li>
</ul>
</body>
viewModel = ko.observableArray([
{ name: "Bungle", type: "Bear" },
{ name: "George", type: "Hippo" },
{ name: "Zippy", type: "Unknown" }
]);
ko.bindingHandlers.getRenderedElements = {
update: function (element, valueAccessor) {
// use timeout so browser has time to render the elements
setTimeout(function() {
var html = $(element).html();
alert(html);
}, 1000);
}
};
ko.applyBindings(viewModel);