# 控件ID 在控件描述文件中,我们可以使用“id“属性能设置控件的id, 这个id会设置到控件对应的dom元素上 ## 控件ID的作用 像DOM体系,bricks使用控件ID用🐟标识控件,不一定要求唯一,但在使用时通常只会使用找到的一个控件 bricks的事件处理依赖控件id来确认事件的发起控件, 事件的目标控件以及事件的数据来源控件 ## 控件查找开始位置 从binds区域所在的控件开始查找,对于"."号分割的id,首先从当前位置查找到第一段id的控件,再用上一个找到的控件作为下一段id的开始位置,直到最后一段,并将最后一段找到的控件作为最终控件返回。如果任何一个位置的id没找到对应的控件,返回空。 ## 控件ID书写规则 bricks事件处理中的控件ID, 通过“."号开分段,标识要分段查找相应的控件。 ## 控件查找方向 "-"号开始的id从当前位置向上查找控件 否则从当前位置向下查找 ## 预定于的id 预定义的id通常放在"."分割的第一段,用来改变控件查找的开始位置 ### app "app“ bricks.App属性,也是Body控件,对应于html的元素 ### root bricks前端应用只放一个控件在bricks.Body中,所有其他的控件都放在这个root控件之下, "root"ID用于查找这个控件 ### self binds区域所在的控件 ## binds区域中和控件ID有关的属性 ### wid 字符串属性,定义事件发起方的id, 缺省为"self" ### target 定义事件处理的控件, 下面对不同的事件处理方式分别说明 #### urlwidget target控件是此事件生成的子控件的父控件,需要是个容器控件 参看[控件表述文件](descjson.md) #### method 事件的method方法的控件。 #### script script脚本可用this变量来使用target对应的控件 #### registerfunction 注册函数可以使用this变量来使用target对应的控件 #### event 定义触发事件的控件实体 ### datawidget 定义事件的参数来源对象,如果找到此控件,则通过该控件的datamethod(如果定义)方法来获取参数,或者通过datascript脚本来获取参数 获得的参数将会添加到binds事件处理定义中说明的参数中