Нокаут бутстрап не под нагрузкой

У меня есть сайт на основе knockout.js. У меня есть теги-вход, поданный в элемент множественного выбора. Все отлично работает, если они отображаются при загрузке. Но я хочу показать их, только если пользователь нажимает кнопку.

Как я могу это сделать?

Спасибо

<!-- ko if: state=="EDIT" -->
//the default state is not that. Here should appear the tagsinput, but if it's here, don't works
<!-- /ko -->
<input id="domains" type="text" value="" data-role="tagsinput" placeholder="Add tags" />

1 ответ

state должно быть наблюдаемым (ko.observable()), и вам нужно вызвать его, чтобы получить его значение: if: state() === 'EDIT',

Пример:

ko.applyBindings({
  state: ko.observable("DEFAULT")
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<!-- ko if: state() === "EDIT" -->
<h1> Edit section </h1>
<!-- /ko -->

<!-- ko if: state() === "DEFAULT" -->
<h1> Default section </h1>
<!-- /ko -->

<button data-bind="click: state.bind(null, 'EDIT')">Edit</button>
<button data-bind="click: state.bind(null, 'DEFAULT')">Default</button>

Другие вопросы по тегам