javascript – 子视图事件回调是否优先?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 子视图事件回调是否优先?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1661字,纯文字阅读大概需要3分钟。
内容图文
我有几个相关的主干视图:
第一:
App.Views.TreeGrowthBase = App.Views.TreeGrowthBase.extend({
events: {
'submit form': 'submitForm',
...
然后在同一个文件中:
submitForm: function(e) {
e.preventDefault();
和应用程序中的其他地方:
App.Views.WineTreeGrowthBase = App.Views.TreeGrowthBase.extend({
submitForm(event) {
event.preventDefault();
我的问题:在最后一段代码中……语法是什么:
submitForm(event) {
event.preventDefault();
这是方法调用吗?定义方法?冒号在哪里?
哪一个优先?我想像子视图的submitForm方法定义发生…如果它是一个方法定义?
解决方法:
submitForm(event) {
event.preventDefault();
这是ES6中新增的方法定义(ECMAScript 2015).
它相当于
submitForm: function submitForm(event) {
event.preventDefault();
The shorthand syntax uses named function instead of anonymous
functions (as infoo: function() {}
). Named functions can be called
from the function body (this is impossible for anonymous function as
there is no identifier to refer to). For more details, see 07001.
并在具有新功能的浏览器中工作(与IE不同).
覆盖功能
在Backbone类的子级中重写的任何方法(扩展函数的结果)优先于父函数.如果您想调用父函数,它仍然可能:
submitForm: function(event) {
// Using the Backbone '__super__'
ThisClass.__super__.submitForm.apply(this, arguments);
// Or the JavaScript preferred way
ParentClass.prototype.submitForm.apply(this, arguments);
event.preventDefault();
}
这不是Backbone特有的.这是原型链的正常行为. Backbone只是简单地将复杂性包含在一个简单的extend function中.
有关详细信息,请参阅此in-depth answer.
不要使用this.constructor .__ super__,因为它不保证是实际的类,它可能是子类的构造函数,导致调用堆栈溢出.赞成MyCurrentClass .__ super__,它是明确的并且关闭了潜在的延伸问题的大门.
内容总结
以上是互联网集市为您收集整理的javascript – 子视图事件回调是否优先?全部内容,希望文章能够帮你解决javascript – 子视图事件回调是否优先?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。