Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Knockout js初始化元素内容中的可观察值_Javascript_Knockout.js - Fatal编程技术网

Javascript Knockout js初始化元素内容中的可观察值

Javascript Knockout js初始化元素内容中的可观察值,javascript,knockout.js,Javascript,Knockout.js,我有一些像这样的东西 <td data-bind="text: email_sended"> <%= invite.email_send %> </td> function AdminInvitesViewModel() { var self = this; self.email_send = ko.observable(); } ko.applyBindings(new AdminInvitesViewModel()); 函数admi

我有一些像这样的东西

<td data-bind="text: email_sended">
  <%= invite.email_send %>
</td>

function AdminInvitesViewModel() {
   var self = this;
   self.email_send = ko.observable();
}

ko.applyBindings(new AdminInvitesViewModel());

函数adminvitesviewmodel(){
var self=这个;
self.email_send=ko.observable();
}
applyBindings(新的adminvitesviewmodel());
如何从容器的内容初始化可观察对象


在这种情况下,电子邮件发送是真/假值。

如果有必要,那么您可以通过自定义绑定轻松完成此操作

下面是一个绑定,它将使用元素的innerText设置现有的可观察对象,或者创建一个不存在的可观察对象

ko.bindingHandlers.textWithInit = {
    init: function(element, valueAccessor, allBindingsAccessor, data) {
        var property = valueAccessor(),
            content = element.innerText || element.textContent;

        //create the observable, if it doesn't exist 
        if (!ko.isWriteableObservable(data[property])) {
            data[property] = ko.observable();
        }

        data[property](content);

        ko.applyBindingsToNode(element, { text: data[property] });
    }
};
你会像这样使用它:

<div data-bind="textWithInit: 'email_sended'"></div>

请注意,属性名称在引号中,因为绑定支持尚未存在的可观察属性

样本: