我有一个段落标记,我想有条件地隐藏。我无法隐藏它。
这是演示代码: Fiddle demo
这是我试过的一个可观察的变量和分配:
var viewSellerBtnVisible = ko.observable(true);
viewSellerBtnVisible(false);
viewSellerBtnVisible(false)在原始代码中是有条件的,但即使这样它也不会被隐藏。
如何隐藏此段落标记?
答案 0 :(得分:0)
工作演示:
var viewSellerBtnVisible = ko.observable(true);
ko.applyBindings({ viewSellerBtnVisible: viewSellerBtnVisible }, document.getElementById("txtRecommendationHeading"));
viewSellerBtnVisible(false);

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<h3 class="">People also liked...</h3>
<p id="txtRecommendationHeading" data-bind="visible: viewSellerBtnVisible" class="font11">View seller details in <strong>one click</strong></p>
&#13;
在您的代码中:
ko.applyBindings(viewSellerBtnVisible, document.getElementById("txtRecommendationHeading"));
var viewSellerBtnVisible = ko.observable(true);
viewSellerBtnVisible(false);
模型应该是一个JavaScript对象,将名称映射到值。代码中的viewSellerBtnVisible
是一个值; Knockout无法知道它的名字是什么。
您还使用尚未定义的变量名称应用绑定。在您applyBindings
,viewSellerBtnVisible
甚至不是可观察的点时,它是undefined
。由于参数是通过对象共享而不是通过引用传递的,因此绑定在以后不会成为可观察的。你需要有一个适当的指令序列。
最后,你的小提琴并没有加载Knockout。在玩小提琴时,你应该添加你在&#34;外部资源&#34;下使用的库。