首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ExtJS中将ViewController事件处理程序的`this`设置为视图

在ExtJS中,可以通过几种方式将ViewController事件处理程序的this设置为视图。下面是一些常用的方法:

  1. 使用bind方法:可以使用bind方法将事件处理程序的this绑定到视图上。例如,假设我们有一个按钮的点击事件处理程序,可以在ViewController中使用以下代码将this设置为视图:
代码语言:txt
复制
Ext.define('MyApp.view.MyViewController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.myview',

    onButtonClick: function() {
        // 在这里可以使用this引用视图
        this.getView().doSomething();
    },

    init: function() {
        this.control({
            'button': {
                click: this.onButtonClick.bind(this) // 使用bind方法将this绑定到视图
            }
        });
    }
});

推荐的腾讯云相关产品和产品介绍链接地址:腾讯云 ExtJS

  1. 使用箭头函数:箭头函数不会创建自己的this,而是继承父级作用域的this。因此,可以使用箭头函数将事件处理程序的this设置为视图。以下是示例代码:
代码语言:txt
复制
Ext.define('MyApp.view.MyViewController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.myview',

    onButtonClick: () => {
        // 在这里可以使用this引用视图
        this.getView().doSomething();
    },

    init: function() {
        this.control({
            'button': {
                click: this.onButtonClick
            }
        });
    }
});

推荐的腾讯云相关产品和产品介绍链接地址:腾讯云 ExtJS

  1. 使用Ext.bind方法:Ext.bind方法可以将函数绑定到指定的作用域。可以使用Ext.bind方法将事件处理程序的this设置为视图。以下是示例代码:
代码语言:txt
复制
Ext.define('MyApp.view.MyViewController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.myview',

    onButtonClick: function() {
        // 在这里可以使用this引用视图
        this.getView().doSomething();
    },

    init: function() {
        this.control({
            'button': {
                click: Ext.bind(this.onButtonClick, this) // 使用Ext.bind方法将this绑定到视图
            }
        });
    }
});

推荐的腾讯云相关产品和产品介绍链接地址:腾讯云 ExtJS

这些方法可以确保在事件处理程序中使用this引用视图,并且可以在ExtJS中正确处理事件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在Ubuntu 16.04上将Redis服务器设置PHP会话处理程序

在本教程中,我们将了解如何安装和配置外部Redis服务器,以用作在Ubuntu 16.04上运行PHP应用程序会话处理程序。 会话处理程序负责存储和检索保存到会话中数据。...这对于单个服务器来说效果很好,但由于会话信息与单个服务器相关联,因此具有一些重要性能和可伸缩性限制。 外部会话处理程序多个应用程序服务器可以使用共享会话数据提供中心位置。...第三步:Redis服务器设置密码 要为Redis安装添加额外安全层,建议您设置用于访问服务器数据密码。...该网站服务器尚未配置使用此服务器Redis作为会话处理程序。...第五步:将Redis设置Web服务器上默认会话处理程序 现在我们需要在Web服务器上编辑php.ini文件以更改PHP默认会话处理程序。此文件位置取决于您当前堆栈。

1.4K41

产品前端重构(TypeScript、MVC框架设计)

这其中包括了各种不同类型代码:界面结构声明、界面样式代码、动态界面代码、事件监听代码、事件逻辑控制代码、JS实体声明代码、数据源声明代码、数据获取代码……大量不同类型逻辑与视图代码混合在一起,导致了一个模块代码文件越来越大...无法统一处理许多问题:这也是大量重复代码引发另一个问题,项目组想要对统一页脚、页面的自适应、Ajax 请求等进行统一处理,都必须逐一页面进行修改。 可扩展性差:由于没有前期设计,可扩展性较差。...设计难点 类型系统冲突 由于EXTJS MVC 模式要求 Controller 从 Ext.app.Controller 类继承,视图则从 Ext.Component 类继承。...但是我们又需要使用 TypeScript 来编写整个应用程序,而 TypeScript 在语言层面提供了新面向对象系统,使用后者将导致我们不能使用 EXTJS 5 本身自带 MVC 模式。...由于视图控件还是采用 EXTJS控件,所以这个 MVC 框架中 View 其实是图中 ViewBuilder,其职责创建 EXTJS控件。

1.8K80

Ext JS 教程-MVC架构 原

Application 包含着你整个应用程序(比如应用名字)全局设置,也维护着所有应用使用到模型、视图和控制器引用。...这样就自动我们设置了一个全局变量 AM,并且向 Ext.Loader 注册了命名空间,附带通过 appFolder 配置选项设置了对应与其(命名空间)对应路径‘app' 。...它们真正做事情是监听事件(常常来自视图)然后做出一些动作。继续我们AccountManager应用程序,让我们创建一个控制器。...control方法使得监听在你视图类上面的事件并使用一个(事件处理方法做出一些行动变得容易起来。...然后我们处理器方法提供一个对应事件名称(在这里就是render)对象。最后效果就是每当任何匹配我们选择器组件触发了render事件,我们onPanelRendered方法就会被调用。

3.3K10

iOS开发系列——Storyboard

到目前为止我们还没有解释我们程序是如何显示默认视图界面的。...视图控制器左侧箭头表示这个视图控制器是个主视图控制器,程序启动之后默认就会直接显示这个视图控制器视图。我们可以在项目属性中通过修改“Main Interface”属性来修改主视图控制器。...如果我们在storyboard界面选中ViewController在Xcode右侧切换到Identity Inspector视图就会发现里面当前设置ViewController类,通过这个设置Main.storyboard...那么如何在代码中读取两个TextField值并通过点击按钮触发相关事件验证登录合法性呢?...IBAction:其实就是void,只是当你定义IBAction在Interface Builder中可以关联到某个控件事件方法(后面的关联操作将会看到,而且我们在代码中也可以看到代码前面多了空心圆点

3.2K40

平面检测-搜索真实世界表面

水平平面检测 首先,我们需要打开配置平面检测属性并将其设置水平,以检测平面(地板或桌子)。...在我们例子中,ViewController将自己指定为ARSCNView委托,委托者,从场景视图中检索内容任务,管理其更新并处理事件。...平面几何 在此函数中,我们将为节点设置几何,并且该几何是平面。因此,使用其范围属性创建一个大小planeAnchor平面。...您现在正在学习如何在代码中应用它。 飞机位置 所以,就像我们手表所做步骤一样,我们需要定位它。将平面节点放在检测到曲面的中心。...例如,您可以将物理应用于水平表面以使虚拟对象掉落,在其上驾驶汽车或在场景上角色设置动画。 与此同时,我希望您能够在场景编辑器中学到概念代码中受到教育。

2.9K30

IOS开发之获取Storyboard创建ViewController

前面的两篇博客都是学习有关屏幕适配也就是相对布局东西,这篇博客中将会学习视图切换。视图切换我们可以用代码完成或者用storyboard来建立各个视图控制器间关系。...3.以上拖拽工作到此结束,下面要实现我们业务逻辑和关联视图之间关系,为了关联视图时能找到带有三个按钮视图,我们需要设置一下该视图StoryboardID,入下图   ?   ...4.下面来编写我们代码,上面我们用到了TextField,我们需要处理键盘回收事件,所以我们ViewController要遵守UITextFiledDelegate协议,实现有关键盘方法     ... @end ​    (2)在ViewController.m中中进行回调注册和实现协议中相应方法,代码如下: 1 2 3 4 5 6 7 8 9 10 11...self.userName.delegate = self;     self.password.delegate = self; }   5.处理完键盘事儿,就该处理我们当登陆按钮点击时回调事件

1.7K80

Xcode:处理故事板更好方式 享受Interface Builder提示和技巧

另一方面,许多开发人员在构建具有复杂导航功能大型多屏幕应用程序时仍然会遇到一些界面问题。 在本文中,我将在您处理项目中故事板和笔尖时分享一些好做法。...您需要为每个ViewController分配storyboard ID,这很容易出错:每次要在代码中使用ViewController时都需要对此ID进行硬编码 如何在项目中连接不同故事板?...2.对storyboard文件和关联viewController子类使用相同名称。 这将简化命名约定,并在建议#3中您提供一些好处。...Builder中将viewController标记为initialViewController。...这将创建同一ViewController新实例,该实例已在视图层次结构中,而不是解除顶部ViewController

1.4K30

View Controller编程指南

UIViewController类定义了管理你View,处理事件,从一个ViewController转换到另一个ViewController,以及协调你应用程序其他部分方法和属性。...ViewController可以存储它接收任何数据副本,以便更新View,但文档仍然拥有真实数据。 交互 ViewController是响应者对象,能够处理响应者链中事件。...虽然他们能够这样做,但ViewController很少直接处理触摸事件。...相反,View通常会处理自己触摸事件,并将结果报告给关联delegate或目标对象(通常是ViewController方法。...大多数系统ViewController特定任务而设计 某些ViewController提供对用户数据(联系人)访问。 其他人可能提供访问硬件或提供专门调整界面来管理媒体。

1.2K20

【IOS开发基础系列】Storyboard专题

2 使用 2.1 结合xib使用     思路:         APP跳转流程在故事板中呈现,但是VC事件处理与详细视图设计放在xib文件中。     ...在Identity 面板,将它 Class 设置PlayersViewController。这一步很重要,因为这会将位于故事版中一个场景与你自己 ViewController子类关联起来。...我将俩个 label 宽度设置210,这样不会遮住ImageView。...这两个标签属性在我们cell 中也不再存在。         我们将通过 tag 检索我们想要 Label。对于 Name 标签,tag设置100,对于 Game 标签,tag设置102。...,如果子类初始化时想不一样大小,如何在故事板中处理 4 开发技巧 4.1 View分辨率 4.1.1 wAny和hAny——为什么Xcode6故事板分辨率是480x480         那只是设计时提供给你一个默认平台

75530

问题——持续更新

解决:实际就是视图上移; 实现搜索框功能 Landscape (left home button)     Landscape (right home button) 限制程序只能是竖屏显示:在...:在程序中怎么去实现 应用图标怎么添加 插件:  空工程 一些方法为什么总是调用不到,创建在视图控制器中创建单元格???   ...如何获取全屏图片用于上传   command+S 10.4 新加: ViewController添加导航控制器(xcode6中将自动设置视图控制器)?...(之前做法都是创建一个空工程)     解决:将ViewController头文件导入到AppDelegate中,按照以前写法,创建控制器对象,再创建导航控制器对象,并将其作为当前窗口视图控制器...标签和按钮设置圆角效果过程是不尽相同,按钮可以直接设置,而标签需要首先将masksToBounds 设置YES .

1.2K20

iOS13 Scene Delegate

在上面的代码中,我们可以手动地设置视图控制器堆栈,稍后会进行详细介绍。...大多数应用程序只有一个场景,但是可以通过配置该项创建更多场景,如用于响应推送通知或特定操作特定场景。 Enable Multiple Windows: 默认为NO,其设置YES可以支持多个窗口。...首先,SceneDelegate类管理场景生命周期,处理各种响应, sceneDidBecomeActive(_:) and sceneDidEnterBackground(_:)之类事件。...然后设置windowrootViewController,将window实例赋值给场景window属性,并且设置窗口makeKeyAndVisibletrue,即将该窗口置于App前面。...接着SwiftUI项目创建了ContentView实例,并通过使用UIHostingController将其添加为根视图控制器。 该控制器用于将基于SwiftUI视图显示在屏幕上。

5.1K20

UI篇-UIResponder之事件传递和响应精析

UIResponder是所有响应者对象基类,它不仅为事件处理,而且也常见响应者行为定义编程接口。...3.类似地,视图层次中每个后续视图如果不处理事件都首先传递给它视图控制器(如果有的话),然后是它视图。 4.最上层容器视图事件传递给UIWindow对象。...5.UIWindow对象将事件传递给UIApplication单件对象。 6.如果应用程序找不到能够处理事件响应者对象,则丢弃该事件程序寻找能够处理事件对象,事件就在响应者链中向上传递。 ?...需要注意是:viewController.m文件中重写touchBegan:withEvent:方法,相当于处理viewController触摸事件,想处理自定义View触摸事件,必须在自定义...效果图 实现过程解析: 1.自定义一个View设置其颜色橙色,高度200,并设置 self.layer.cornerRadius = 100; self.clipsToBounds = YES

2.4K30

iOS开发--一步步教你彻底学会『iOS应用间相互跳转』

选择项目App-B -> TARGETS -> Info -> URL Types -> URL Schemes,设置App-BURL SchemesAppB。 ?...设置App-BURL Schemes 在应用程序App-A中添加一个用来点击跳转Button,并监听点击事件,添加跳转代码。 ?...如果是iOS9之后模拟器或是真机,那么则需要再在应用程序App-A中将App-BURL Schemes添加到白名单中,原因和做法如下。 iOS9引入了白名单概念。...设置Page1ViewController标识符 在应用程序App-A中添加两个用来点击跳转Button,一个跳转到Page1,一个跳转到Page2,并监听点击事件,添加跳转代码。 ?...准备步骤: 因为我们想要跳转回应用A,首先我们要先设置应用App-AURL Schemes,将其设置AppA。同时在应用App-B中添加白名单。具体操作和之前相似。

1.2K30

Mac开发跬步积累(六): 响应链NSResponder Chain

当一个NSWindow对象在接收到鼠标点击(mouse-down)事件时,会自动设置鼠标所处View第一响应者;那么NSWindow对象如何确认某个对象是否能够成为第一响应者呢?...,它总是发送给第一响应者,而不是鼠标所在视图View; 0x04 从一个实际"栗子"开始 项目示例代码地址:ResponderChainDemo 理论结合实践,让我们通过一个实际项目示例来尝试学习响应链事件处理...在ViewController中实现键盘按下事件/鼠标点击事件 并在视图加载完毕后,输出响应链信息: ?...设置响应者 变更后响应链如图: ? 修改后响应链效果 代码运行后,点击键盘(功能键除外)可以看到ViewControllerkeyDown:方法正常输出: ?...答案:是改变第一响应者,因为键盘事件是从第一响应者开始! 我们需要将响应链设置下图效果即可:(View获取键盘事件后如果自己不响应,就会依据响应链传递给ViewController) ?

2.2K10

【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

UIApplication 对象设置委托, 负责处理应用程序事件循环; 2....: 应用程序委托对象还处理 IOS 应用各种生命周期事件, 处理应用执行过程中事件循环; (2) AppDelegate.h 详解 OCAppDelegate.h 详解 :  -- 代码示例 : ...- C 类, 这些类用于保存 处理 数据; -- View 视图 : 使用 Interface Builder 创建视图组件, xib, storyboard 后缀界面设计文件; -- Controller...IBAction 方法名; -- Type : 触发该事件 UI 控件类型, 默认为 id, 如果需要更精准可以设置成具体 UI 组件类, UIButton; -- Event : 选择为什么样事件绑定...是该 UIControl 基类提供; -- 添加事件响应方法 : "addTarget : action : forControlEvents :" , 当前控件 指定事件 设置 处理方法; -

4.8K30

【iOS7一些总结】9、与列表显示(在):列表显示UITableView

在新生成ViewController.m文件里重写loadView方法,新建一个UITableView视图。 (别忘了把alloc视图在dealloc函数中释放。)...表视图所定义协议方法由代理方法delegate和数据源方法data source方法组成。 托付方法一般用于实现个性化处理视图基本样式(单元格高度等)以及捕捉单元格选中响应。...数据源方法用于完毕表中数据。指定单元格数。以及创建每个单元格。 要实现代理和数据源方法。...创建完毕后,将tableViewdelegate和dataSource设置self,即托付给当前视图控制器来控制表视图数据显示和响应。...我们在视图控制器头文件里声明一个NSArray *model(retain属性),并在viewDidLoad中将[UIFont familyNames]赋给这个属性。

1.9K40
领券