Javascript 如何使用knockout js引用当前元素?
访问存储的“位置”阵列时遇到问题。Locations是一个对象文字,我正在尝试根据我单击的当前元素访问title属性。我有以下代码,但我无法将其发送到console.log。我的猜测是,我对“this”和闭包函数的使用不是很强。希望我解释得足够好,以便有人能解释清楚。非常感谢您的反馈和解释 (旁注:我的项目要求我需要使用淘汰JS框架和MVVM格式)Javascript 如何使用knockout js引用当前元素?,javascript,mvvm,knockout.js,Javascript,Mvvm,Knockout.js,访问存储的“位置”阵列时遇到问题。Locations是一个对象文字,我正在尝试根据我单击的当前元素访问title属性。我有以下代码,但我无法将其发送到console.log。我的猜测是,我对“this”和闭包函数的使用不是很强。希望我解释得足够好,以便有人能解释清楚。非常感谢您的反馈和解释 (旁注:我的项目要求我需要使用淘汰JS框架和MVVM格式) HTML 您需要将单击事件附加到li而不是ul <ul data-bind="foreach:locationsArray">
您需要将单击事件附加到li
而不是ul
<ul data-bind="foreach:locationsArray">
<li><span id="place" data-bind="text:title, click:$parent.goToLocation"></span></li>
</ul>
这是
var ViewModel = function() {
var self = this;
self.locationsArray = ko.observableArray(locations);
// item will have the data of the clicked li
self.goToLocation = function(item) {
console.log(item);
}
}
ko.applyBindings(new ViewModel());