如何在{{input}}中使用action

本文介绍在Ember.js中如何使用输入框触发自定义JS函数,包括旧版和新版的不同实现方式,并推荐了两个Ember风格的radio组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章来源:Ember Teach

开发中经常遇到需要在一个input输入框触发JS函数,那么对于Ember.js的{{input}}又如何才能出发自定义的action呢?

实现起来非常简单!请看下面的代码演示:

旧版本实现方式

{{input type="text" value=email action="clearTipInfo" on="focus-in"}}

新版本实现方式

{{input type="text" value=email focus-in="clearTipInfo"}}

这是一段非常常见的输入框代码,稍微不同的是最后2个属性的设置,它们所起的作用就是:当输入框得到焦点的时候出发action所指定的方法clearTipInfo。触发的JS函数需要用on指定,JS的函数不能随便写,所支持的JS函数请看event names

补充

ember并没有提供封装好的radio按钮组,如果你需要用到radio你可以自己使用组件封装,或者直接使用原生的html。

如果你非得使用Ember风格的radio又不想自己定义组件那就是用现成的吧。下面推荐2个别人做好的组件:

  1. ember-radio-button

  2. ember-radio-buttons

参考资料

https://www.emberaddons.com/?query=radio

### 创建和使用 Unity Input System 中的 Input Actions #### 初始化项目并安装包 为了确保能够顺利使用新的输入系统,在开始之前需确认已通过Unity Package Manager安装了`Input System`包[^2]。 #### 设计 Input Actions 设计阶段涉及规划哪些动作是必要的以及这些动作应该如何映射到物理设备上的按键或轴。这一步骤对于构建直观易用的控制机制至关重要[^4]。 #### 创建 Input Actions 资源文件 前往 `Assets -> Create -> Input Actions` 来新建一个 `.inputactions` 文件,此操作会在项目资源目录下生成一个新的资产文件用于存储定义好的输入行为集合[^1]。 #### 配置 Input Actions 打开刚才创建的动作集文件后,可以添加不同的Action Map(例如Player, UI等),再向其中加入具体的Actions比如移动、跳跃等,并设置相应的绑定键位或者手柄按钮[^3]。 #### 实现代码逻辑 下面是一个简单的C#脚本例子展示怎样加载上述配置过的输入动作并在运行时响应玩家的操作: ```csharp using UnityEngine; using UnityEngine.InputSystem; public class PlayerController : MonoBehaviour { private InputControls inputActions; void Awake() { // 加载预先设定好的输入动作配置 inputActions = new InputControls(); // 绑定事件处理程序至特定的行为上 inputActions.Player.Jump.performed += context => Jump(); } void OnEnable() { // 开启监听来自用户的交互信号 inputActions.Enable(); } void OnDisable() { // 停止接收任何用户产生的输入数据流 inputActions.Disable(); } void Jump() { Debug.Log("Jump action performed"); } } ``` 该片段展示了如何实例化由编辑器内定义的一组输入命令(`InputControls`),并通过注册回调函数的方式捕捉到了“跳”的执行时刻。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值