使用 bind() 方法,为 QueryList 扩充新的自定义功能
发布于 作者:苏南大叔 来源:程序如此灵动~

多数情况下,QueryList
的默认功能,都是够用的。但是,如果说个性化定制的话,大家还是希望可以为QueryList
扩充新的自定义功能。那么,这个需求的解决方案就是:使用bind()
方法。

苏南大叔,在本文中,将要讲述的函数是bind()
方法。利用bind()
方法,给QueryList
扩充新的功能。
bind()
方法描述
QueryList
功能扩展,绑定一个功能函数到QueryList
对象,轻量级功能扩展,可以理解为注册了一个插件。可静态调用或动态调用。
- 参数: $name
绑定的功能函数名称。如果绑定多个相同名称的函数,后面绑定的会覆盖前面绑定的,所以只有最后一个同名函数会生效。 - 参数: $provide
匿名处理函数,函数内的$this
对象为当前QueryList对象的内部$this
,意味着可以通过这个$this
调用QueryList
任意的方法。
bind()
用法范例一
下面演示注册一个自定义的http
网络操作方法到QueryList
对象:
输出:
bind()
用法范例二
自定义一个简单的图片下载功能:
输出:
bind()
用法范例三
如果你想扩展的功能比较复杂,你可以把你想扩展的功能独立成一个class,然后在bind里面调用,就像这样:
bind()
用法范例四
一个bind
可以依赖另一个bind
:
注意事项
bind()
是只有当前的querylist
才可以使用的,如果想全局任何querylist
对象都能使用,请使用config()
方法进行配置。bind()
的第一个参数$name
,存在着同名覆盖的关系。只能有一个$name
。bind()
的第二个参数$provide
,必须return $this
。
总结
当您想增强实现QueryList
功能的时候,就可以使用bind()
来配置新的功能了。但是增加新功能的途径,还有config()
。这个功能,将在苏南大叔的后续QueryList
系列文章里面说明。


