组件对象
开始
当你每次 render
一个组件时,Ale 都会返回一个 Ale组件对象
,你可以定义一个变量来接收它:
- /* 定义一个变量接收 Ale组件对象 */
var app = Ale.render("test", {
/* ...... */
})
让我们点击上方实例,你将会看到它在控制台中输出了它自己的Ale组件对象
。
高级
可是这造成了一个问题,如果我们的组件需要动态渲染,那我们怎么获取它的 Ale组件对象
呢?
很简单,只需要在支持函数的属性中使用 this
关键字即可获取 (由于template
属性比较特殊,自动绑定的是this.data
,所以在template属性中使用this
代指的是this.data
):
- /* 定义一个组件 */
Ale("test", {
life: {
mounting: function(){
console.log(this) /* 这里this代指渲染完成之后的Ale组件对象 */
}
}
})
在上方实例中,可能你还不了解life
属性的作用,不过我们就是给你演示一下如何使用,具体细节请继续往下查看教程!
目前全部支持函数的属性:
- template (由于
template
属性比较特殊,自动绑定的是this.data
,所以在template属性中使用this
代指的是this.data
) - life (life属性本身不支持函数,但是它内部的属性全部支持函数)
- debug (debug属性本身不支持函数,但是它内部的属性全部支持函数。不过注意,debug内部的函数不会绑定this)