簡體   English   中英

淘汰賽中的可見性綁定不起作用

[英]visibility binding in knockout is not working

我有一個跨度,我將跨度與敲除綁定在一起,以便在頁面加載時可以看到它。我試圖通過錨點單擊綁定來更改值。

<a href='#'data-bind='click:ViewModel.setVisibility,disable:ViewModel.completeReview '>Show More</a>
<span data-bind="html: ViewModel.getText(Text),visible:ViewModel.completeReview "></span>

在我看來,模型修改是

self.completeReview = ko.observable(false);
self.setVisibility = function () {
    return self.completeReview = true;
};

但這並沒有反映在可見性中。我在firebug中進行了調試。該方法被稱為。 有人知道嗎?

您不能像普通變量一樣設置observable。 無需在視圖上返回任何內容,因為可觀察對象將自動將更改通知您的UI。 嘗試這個 :

HTML

<a href='#'data-bind='click: ViewModel.setVisibility,disable:ViewModel.completeReview '>Show More</a>
<span data-bind="visible:ViewModel.completeReview ">
  Click to on Show More to hide or show me.
</span>

JS

function ViewModel()
{
  var self = this;

  self.completeReview = ko.observable(false);

  self.setVisibility = function () {
     self.completeReview(!self.completeReview());
  };
}

var ViewModel = new ViewModel();
ko.applyBindings(ViewModel);

工作小提琴

暫無
暫無

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

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