knockoutjs 中两个可观察对象的相同数据绑定值

Same data-bind value for two observable in knockoutjs

这是我的HTML代码:

<textarea name="Question" id="Question" data-bind="value:questionObj.questionText></textarea>

这是我的JavaScript代码:

questionObj = {
       questionText: ko.observable(' '),
       title:  ko.observable(' ')
};

questionText 数据绑定到 textarea,值在 bothway.I 中可见,希望 questionObj.title 在 questionObj.questionText 中获得相同的值。有什么方法可以绑定吗?

你的意思是你希望两个可观察值具有相同的值?您可以为此使用 pureComputed observable。

像这样更改您的可观察定义:

questionObj = {
   questionText: ko.observable(' ')
};

questionObj.title = ko.pureComputed(function(){
    return questionObj.questionText();
}, questionObj);

这解决了我的问题....

   questionObj = {
           questionText: ko.observable(' '),
           title:  ko.observable(' ')
    };

    questionObj.title(questionObj.questionText);

@Iam_NSA 回复:

你好。 虽然您可能已经获得了您正在寻找的功能,但值得注意的是,您所做的是 2 个 observables,然后您将对其中一个 observables 的引用分配给另一个 observables,而不是它的值。除非你是故意这样做的,否则你不会在这里四处询问:P,你应该避免它。 本质上你只有一个 observable,这相当于将同一个 observable 绑定到 2 个不同的元素。

您最好像这样创建一个纯计算或订阅:

questionObj = {
           questionText: ko.observable(' '),
           title:  ko.observable(' ')
    };

    questionObj.questionText.subscribe(function(val){
        questionObj.title(val);
    });