gpt4 book ai didi

mvvm - 使用kickout.js将Click事件从一个 View 模型传递到另一个 View 模型

转载 作者:行者123 更新时间:2023-12-03 10:17:57 25 4
gpt4 key购买 nike

我正在使用Knockout.JS网站(http://jsfiddle.net/rniemeyer/QSRBR/)中的分页网格示例来构建网格。我在网格模板内声明了一个click事件,如下所示(click:goBackward):-

templateEngine.addTemplate("ko_negrid_navigation", "\
<div class=\"ko-grid-pageLinks\">\
<br/>\
<span><img src=\"/OCSENET/images/bluLeftNew.gif\" style=\"cursor:hand;\" alt=\"Backward\" data-bind='click: goBackward, visible: shouldShowBack' /></span>\
<span>&nbsp;</span>\
<span><img src=\"/OCSENET/images/bluRightNew.gif\" style=\"cursor:hand;\" alt=\"Forward\" data-bind='click: goForward, visible: shouldShowFwd' /></span>\
</div>");

现在,我需要在一个调用此Grid ViewModel的ViewModel内而不是在它自己的Grid View Model内定义此goBackward方法。当我这样做时,该事件不会触发goBackward()。我从另一个TestViewModel调用网格,如下所示:
/*----------------------------------------------------------------------*/
/* TEST View Model
/*----------------------------------------------------------------------*/
function TESTViewModel() {
var self = this;

self.iRowFrom = ko.observable(1);
self.iRowTo = ko.observable(5);
self.gridRowCount = ko.observable(5);

self.VM_AHISGrid;
self.GridItems = ko.observableArray([]);

//fnDesignGrid
self.fnDesignGrid = function () {
self.VM_AHISGrid = new ko.NEGrid.viewModel({
data: self.GridItems,
columns: [
{ headerText: "Address", rowText: "AHIS_Address" },
{ headerText: "City", rowText: "AHIS_Addr_City" },
{ headerText: "State", rowText: "AHIS_Addr_State" },
{ headerText: "Zip", rowText: "AHIS_Addr_Zip" }
],
pageSize: self.gridRowCount(),
gridName: 'ALST_NE_GRID'
});
}

// I want this method to be triggered.
self.goBackward = function () {
alert('I m Backward')
};

}

最佳答案

好的,我修复了。非常简单,只需按如下所示定义调用viewmodel的方法即可,它的工作方式就像charm。

self.NEGridViewModel.goBackward = function () {
alert('I m Backward')
};

关于mvvm - 使用kickout.js将Click事件从一个 View 模型传递到另一个 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17277742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com