Knockout.js 使用HTML到PDF转换器击出JS

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之前获取这些元素。有关更多信息,请参阅 如果

我到处寻找这个问题的答案,也许答案就是——它不存在,但希望有人有一些魔力

我正在使用Knockout在一个页面上绑定几个表单。这一切都非常有效。然而,尝试将这些表单发送到PDF转换器是一个挑战


呈现的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);