61 lines
2.2 KiB
Markdown
61 lines
2.2 KiB
Markdown
# 控件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的<body>元素
|
||
|
||
### 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事件处理定义中说明的参数中
|
||
|