beetl注册虚拟属性