Skip to content

控件初始化子控件时的valueReplacer管理 #585

@otakustay

Description

@otakustay

控件在使用initChildren初始化子控件时,应该使用一个特殊的valueReplacer以便于将自己的属性分发到子控件中去,类似ef提供的Model和控件的关系

假设一个控件内部写了这样的模板:

<!-- for: ${list} as ${item}, ${index} -->
    <esui-custom-item data-ui-datasource="@list.${index}"></esui-custom-item>
<!-- /for -->

则应该会使得这个子控件的datasource属性指向父控件的list属性中的某一项

考虑到原来的initChildren的向后兼容性,为了实现这一功能,会增加一个initConnectedChildren方法,区别在于:

  • initChildren用于类似Panel的容器,其生成的子控件本身不由父控件控制,数据源使用的是再上层的
  • intiConnectedChildren用于有自己指定的子控件结构的控件,子控件完全由父控件管理,将父控件作为数据源

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions