3结合的knockoutjs点击XAPI第四章。

3结合的knockoutjs点击XAPI第四章。
客观的

单击绑定的主要功能是在单击DOM元素时使用相关的js函数。最常见的元素是按钮、输入和A。

例如:
你点击0timesclick我
源代码 uff1a
你点击次数
点击我
VaR模型= { {
(0):ko.observable numberOfClicks,
incrementclickcounter:函数(){
无功previouscount = this.numberofclicks();
This.numberOfClicks(previouscount + 1);
}
};
在上面的例子中,该incrementclickcounter回调函数将被触发时,按下按钮,更新的视图状态。

注意,点击后,它不一定是一个视图模型的功能。可以是任何对象的功能,可以直接引用。例如,点击:someobject.somefunction。

注释1:传递参数

处理程序中,UI显示一系列监视属性,如:

londonremove

parisremove

tokyoremove

源代码 uff1a
删除
功能myviewmodel(){
var =;
self.places = ko.observablearray({ 'london,巴黎,'tokyo});
当前项目将作为第一个参数传递,因此我们知道要删除哪个位置
self.removeplace =功能(地方){
Self.places.remove(的地方)
}
}
Ko.applyBindings(新myviewmodel());
单击删除时,只删除当前项目。在源代码中,它是当前项目。

需要注意的两点:

如果你是嵌套在结合上下文,例如,如果你使用foreach或结合,但你的处理功能是根视图模型或其他一些家长的模型,你需要使用一个前缀,如美元或美元母根位置处理功能。

在您的视图模型中,可以使用自(或其他一些变量)作为这个别名。

备忘录2:传递事件对象(多个参数)

在某些情况下,您可能需要访问DOM的事件对象(事件),一般来说,KO将传递事件对象作为函数的第二个参数:
点击我
VaR模型= { {
myfunction:功能(数据、事件){
如果(事件。大写键){
用户切换键时做不同的操作
{人}
执行正常动作
}
}
};
Ko.applyBindings(ViewModel);
如果您想要传递更多的参数,您可以使用函数文本的方式:
点击我
还有更优雅的编写,比如绑定绑定函数的多个参数:
点击我
注意3:允许默认单击操作

默认情况下,Ko阻止任何违约行为。例如,你将点击一个标签,点击后,浏览器调用click绑定回调函数。但href连接跳不执行。

如果您不希望此默认停止动作,您可以在回调函数中返回true。

附注4:防止泡沫事件

默认情况下,KO允许单击绑定继续任何高级别事件处理。例如,父元素和子元素都单击绑定,并且将触发这两个元素的单击绑定。

一个额外的结合clickbubble可以用来解决这个问题:

点击我

在上面的例子中,mybuttonhandler将被称为,和情感必然clickbubble,和假设,父元素的mydivhandler不叫。

注释5:与jQuery的交互

如果jQuery中有一个单击事件,那么将调用jQuery的单击事件。如果你想一直使用本地事件的过程中,你可以将下面的代码添加到ko.applybindings:
ko.options.useonlynativeevents =真;
以上是knockoutjs 3结合点击。X API第四章,希望对你有帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部