の作業のデモ:あなたのコードで
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>
は:
ko.applyBindings(viewSellerBtnVisible, document.getElementById("txtRecommendationHeading"));
var viewSellerBtnVisible = ko.observable(true);
viewSellerBtnVisible(false);
モデルは、JavaScriptのオブジェクト、値へのマッピングの名前でなければなりません。コード内のviewSellerBtnVisible
は値です。ノックアウトはその名前がちょうどそれからであるか分からない。
まだ定義されていない変数名を使用してバインディングを適用します。 applyBindings
、viewSellerBtnVisible
が観測されない場合でも、それはundefined
です。パラメータは参照ではなくオブジェクト共有によって渡されるため、バインディングは後で観測可能になりません。あなたは正しい指示の順序を持つ必要があります。
最後に、フィドルにノックアウトがロードされていません。 Fiddleで遊ぶときは、「外部リソース」で使用しているライブラリを追加する必要があります。