녹아웃 관측 값을 업데이트하는 데 약간의 문제가 있습니다. 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);
}
}
});
필자는 기능이 오류없는 그러나 이것은 _this.showMenu()를 생성 전역에 _this 를 사용하는 대신 시도. 도와주세요.
추신. 첫 번째 함수 정의 안에 모든 것을 써야합니다.
ShowMenu는 (?)의 값이 어디에서 온 것입니다해야합니까? – jtabuloc
'var _this = this;'의'this'는 아무 것도 가리 키지 않습니다. (물론 실제로는 윈도우 객체를 가리 킵니다.) 'var _this = {_here_the_litteral_definition_of_some_object_with_methods_}'라고 쓰면,'_this.showMenu()'가 작동합니다. 또한 패키지를 정의하는 경우 자주 정의하는 모듈의 변수 이름으로 _this 대신 "exports"를 사용하는 것이 좋습니다. – miellaby