簡體   English   中英

敲除js中兩個可觀察到的相同數據綁定值

[英]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的,並且兩個方向的值都是可觀察的。我希望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個可觀察對象,然后將引用分配給它本身的一個可觀察對象,而不是其值分配給另一個。 除非您是故意這樣做的,否則您不會這樣做,否則您將不會在這里問:P,則應避免這樣做。 本質上,您只有一個可觀察的對象,這等同於將相同的可觀察對象綁定到2個不同的元素。

您最好像這樣創建一個純計算或訂閱:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM