Knockout.js 当我们在运行时添加html时,如何使绑定工作?

Knockout.js 当我们在运行时添加html时,如何使绑定工作?,knockout.js,breeze,Knockout.js,Breeze,我正在使用breeze JS进行击倒绑定。在使用breeze controller向数据库中添加某些条目的数据时,我试图显示更多与一个特定属性相关的字段,这是在将数据存储到本地数据库中时所必需的。因此,我创建了一个自定义绑定,使我可以这样做。 但我发现我在视图中添加的字段与我在创建新条目时使用的可观察项不绑定 这是击倒装订 ko.bindingHandlers.htmlTags = { update: function (element, valueAccessor, allBind

我正在使用breeze JS进行击倒绑定。在使用breeze controller向数据库中添加某些条目的数据时,我试图显示更多与一个特定属性相关的字段,这是在将数据存储到本地数据库中时所必需的。因此,我创建了一个自定义绑定,使我可以这样做。 但我发现我在视图中添加的字段与我在创建新条目时使用的可观察项不绑定

这是击倒装订

 ko.bindingHandlers.htmlTags = {

    update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
         var value = valueAccessor();
        var valueUnwrapped = ko.unwrap(value);
        var x = "[ABC, 'XYZ','UVW']";
        var jt = bindingContext.$data.type._latestValue; // get the latest value of observable "Type" which is coming from database via breeze
        var finalHtmlTag = ko.observable("");
// Strings of HTML which I want to add while execution           
 var op = "<label>Operation to perform  :</label><select data-bind= \"options:"+ x +" , value: operation\"></select>";
            var cust = "<label>Customer Name :</label><input data-bind=\"value: customer\" placeholder=\"[Customer Name]\"></input>";
            var cust1 = "</div><div><label> Customer Name:</label><input  data-bind=\"value: customer\" placeholder=\"[Customer Name]\"></input>";
            var loc = "</div><div><label>Copy Location :</label><input data-bind=\"value: copyLocation\" placeholder=\"[Copy Location]\"></input>";
            if (jt === 1) { finalHtmlTag = op + cust1; }
            if (jt === 2) { finalHtmlTag = op; }
            if (jt === 3) { finalHtmlTag = cust + loc; }

            // Now manipulate the DOM element

                $('#addTag').html(finalHtmlTag); // Make the element visible

    }
};
//我的html //“作业”是一个可观察的对象,它在breeze的帮助下创建实例,用于在本地数据库中存储特定条目

<form>
        <div data-bind="with: job"> 
            <div>
                <label>Job Name :</label>
                <input data-bind="value: jobName" placeholder="[JobName]" />
            </div>
            <div>
                <label>Type  :</label>
                <select data-bind="htmlTags: true, options: $root.typesX, optionsText: 'value', optionsValue: 'key', value: $data.type" />
            </div>
               <div>
                <label>User ID:</label>
                <input type="text" placeholder="[User ID]" data-bind="value: userID" />
            </div>
            <div id="addTag"></div>
//till here everything works fine but after this line bindings are not working properly
            </div>

我找到了另一种方法,但我想知道当我们在运行时添加html时如何使绑定工作不要使用动态添加的html。Knockout提供了模板和条件流控制绑定,使您能够在显著减少大脑损伤的情况下完成上述代码所做的工作。
<form>
        <div data-bind="with: job"> 
            <div>
                <label>Job Name :</label>
                <input data-bind="value: jobName" placeholder="[JobName]" />
            </div>
            <div>
                <label>Type  :</label>
                <select data-bind="htmlTags: true, options: $root.typesX, optionsText: 'value', optionsValue: 'key', value: $data.type" />
            </div>
               <div>
                <label>User ID:</label>
                <input type="text" placeholder="[User ID]" data-bind="value: userID" />
            </div>
            <div id="addTag"></div>
//till here everything works fine but after this line bindings are not working properly
            </div>