Javascript 敲除观测值未更新函数参数

Javascript 敲除观测值未更新函数参数,javascript,data-binding,knockout.js,Javascript,Data Binding,Knockout.js,我不熟悉敲除和javascript。我想在输入框上创建输入值,并将该值打印在文档上。写入但kotext值不会在testText上更新并更改输入框上的值。我希望将值打印到文档。写入和数组推送(textKo)过程 来源: <head> <script src="knockout-3.1.0.js"></script> </head> <body> <div class="sidebar"> <div cla

我不熟悉敲除和javascript。我想在输入框上创建输入值,并将该值打印在
文档上。写入
kotext
值不会在
testText
上更新并更改输入框上的值。我希望将值打印到
文档。写入
数组推送(textKo)
过程

来源:

<head>
    <script src="knockout-3.1.0.js"></script>
</head>
<body>
<div class="sidebar">
    <div class="line">
        <label>1st Object Name</label>
        <input type="text" data-bind="value: kotext1" />
        <input type="text" data-bind="value: kotext2" />
        <input type="text" data-bind="value: kotext3" />
    </div>
</div>
<script>
var AppViewModel = function(){
    kotext1 = ko.observable("No.1!");
    kotext2 = ko.observable("No.2!");
    kotext3 = ko.observable("No.3!");
}
ko.applyBindings(AppViewModel);
testText = function(val) {
    return "This is " + val;
}
textKo = [testText(kotext1()),testText(kotext2()),testText(kotext3())];
document.write(textKo);
</script>

第一个对象名
var AppViewModel=函数(){
kotext1=ko.observable(“No.1!”);
kotext2=ko.可观察(“第2条!”);
kotext3=ko.可观察(“第3条!”);
}
应用绑定(AppViewModel);
testText=函数(val){
返回“This is”+val;
}
textKo=[testText(kotext1())、testText(kotext2())、testText(kotext3())];
文件编写(textKo);

看起来您误解了数据绑定在淘汰中的工作方式。更新视图模型,而不是使用
document.write
():

var viewModel =  {
    kotext1: ko.observable("No.1!"),
    kotext2: ko.observable("No.2!"),
    kotext3: ko.observable("No.3!")
}
ko.applyBindings(viewModel);
testText = function (val) {
    return "This is " + val;
}
viewModel.kotext1(testText(viewModel.kotext1()));
viewModel.kotext2(testText(viewModel.kotext2()));
viewModel.kotext3(testText(viewModel.kotext3()));

谢谢您的回答,但我需要每个可观察对象的最终值以及testText函数。你有什么想法吗?@user3436210检查我的编辑,如果有效,别忘了投票并接受。@user3436210我想这超出了这个问题的范围。接受我的回答(你甚至会因此得到代表!)并打开一个新问题。@user3436210没问题!别忘了点击我答案旁边的绿色复选标记我还有一个问题。如果我需要在“viewModel.kotext1();”上使用第三方库的函数(为了喜欢Raphael.kotext1())这一部分,我怎样才能继续使用observable?