我正在构建一个 Web 应用程序,并希望将 UI 转换为使用 Knockout JS。我是淘汰赛的菜鸟,所以请善待!
通常我会加载一个员工列表(使用 PHP),然后如果选择了一个员工,我会使用 JQuery 找到该员工的 ID,然后对我的后端进行 AJAX 调用,填写结果框并将其向下滑动。
有没有办法在 Knockout 中复制这种行为?
我正在构建一个 Web 应用程序,并希望将 UI 转换为使用 Knockout JS。我是淘汰赛的菜鸟,所以请善待!
通常我会加载一个员工列表(使用 PHP),然后如果选择了一个员工,我会使用 JQuery 找到该员工的 ID,然后对我的后端进行 AJAX 调用,填写结果框并将其向下滑动。
有没有办法在 Knockout 中复制这种行为?
在敲除/jquery 中处理 ajax 向下钻取的方法是使用敲除点击处理程序。这允许您然后拉任何属性或项目本身,然后在 jquery 中处理 ajax。下面是我的代码示例。
在 html 文件中:
...
<div class="empListName" data-bind="text: fullName(), click: $root.showEmp">
</div>
....
在js文件中:
function MainScreenViewModel() {
// Data
var self = this;
self.employees = ko.observableArray([]);
...
// Functions
self.showEmp = function(data, event){
var id = data.empId();
var checkA = $(event.target).parent().find('.empListNameX').first();
var expand = $(event.target).parent().next();
if (checkA.hasClass('open')){ //Close it
checkA.removeClass('open').addClass('closed');
expand.slideUp();
}else{
$.get('/employee/getempinfo/'+id, function(info){
checkA.addClass('open').removeClass('closed');
expand.html(info).slideDown();
})
}
}
...
}