У меня возникли проблемы с обновлением наблюдаемого значения нокаута. Мне нужно передать значение из linkClick в showMenu.Обновление наблюдаемого нокаута
Когда я вручную обновляю showMenu, как этот showMenu («Значение»), значение будет передано в режим просмотра. Однако это должно быть динамическое значение. Это по существу мой код в его нынешнем виде.
//View
<a data-bind="click: linkClick" data-sec="Value">Click Me</a>
<!-- ko if: showMenu() === 'Value' -->
<ul class="Menu">
<li>Link 1</li>
<li>Link 2</li>
</ul>
<!-- /ko -->
define(
[''],
function() {
var _this = this;
return {
showMenu: ko.observable(""),
linkClick: function(data, event) {
var element = event.target,
Menu = $(element).attr('data-sec');
var myMenu = this.showMenu();
this.showMenu(Menu);
}
}
});
Ive также пытались использовать _this в глобальном масштабе, вместо этого однако это производит _this.showMenu() не является функцией ошибки. Пожалуйста помоги.
PS. Я должен написать все внутри этого определения первой функции.
Где следует значение для showMenu (?) Будет исходить от? – jtabuloc
'this' в' var _this = this; 'ничего не указывает (ну, на самом деле, он указывает на объект окна, который я предполагаю). Если вы пишете 'var _this = {_here_the_litteral_definition_of_some_object_with_methods_}', '_this.showMenu()' работает. Кроме того, если вы определяете пакет, часто рекомендуется «экспортировать» вместо _this как имя переменной для определяемого вами модуля. – miellaby