Knockout.js KnockoutJS如何将textarea值属性绑定到函数

Knockout.js KnockoutJS如何将textarea值属性绑定到函数,knockout.js,textarea,Knockout.js,Textarea,我有一个简单的textarea,我想自定义它的文本(比如添加分隔线),这就是我迄今为止所尝试的: <textarea rows="5" data-bind="value: function(data) { SetDefaultValue(data); }" /> 但我什么也得不到 当检查结果HTML时,它找不到value属性,并且没有JavaScript错误。如何将textarea的value属性绑定到函数 您需要做的是使用计算机修改textarea值,如下所示 <tex

我有一个简单的
textarea
,我想自定义它的文本(比如添加分隔线),这就是我迄今为止所尝试的:

<textarea rows="5" data-bind="value: function(data) { SetDefaultValue(data); }" />

但我什么也得不到

当检查结果HTML时,它找不到value属性,并且没有JavaScript错误。如何将
textarea
value
属性绑定到函数


您需要做的是使用计算机修改textarea值,如下所示

<textarea rows="5" type="text" data-bind="value:textarea, valueUpdate: 'afterkeydown'" />

function AppModel() {
    var self = this;
    self.textarea = ko.observable('');

    self.SetValue = ko.computed(function(){
        self.textarea(self.textarea().toUpperCase());
    });

}

函数AppModel(){
var self=这个;
self.textarea=ko.可观察(“”);
self.SetValue=ko.computed(函数(){
self.textarea(self.textarea().toUpperCase());
});
}

示例:

您可以这样做:

<textarea rows="5" type="text" data-bind="value: SetValue(firstName)" />

什么错误?你能做个小动作吗?@Damien用Demo更新了我的问题你的
函数(data)
中的数据应该是什么?@nemesv应该是来自我的模型的数据,比如“firstName”。我更新了Demohank以获得答案,但我需要在传递值时执行该函数,或者将函数绑定到值属性。我不明白你想要实现什么。试着解释一下,在将其作为值传递之前,我希望对其进行处理的viewmodel中有一个值。。此处理取决于该ViewModel的其他属性。您不能在
计算的
中执行此处理吗?textarea不需要类型属性
function AppModel() {
this.firstName = "ebram";
this.lastName = "Tharwat";
this.SetValue = function (data) {
    //Do the processing over here
    return data.toUpperCase();
   }
}
ko.applyBindings(new AppModel());