Application Delivery Management

父级引用

如果您要使用嵌套的组件,可以使用 $parent 表示法来引用父组件。如果父组件使用 repeat 构造构建多个配置对象,且在每个迭代中,子组件构建其他配置对象,那么 $parent 表示法始终引用父组件的当前迭代。例如,$parent.properties.name 引用父组件的当前迭代中构建的配置对象的 name 属性。

示例

components:
 -
   name: my-lbvserver-comp
   type: ns::lbvserver
   properties:
     name: $parameters.name + "-lb"
     servicetype: HTTP
     ipv46: $parameters.ip
     port: 80
     lbmethod: $parameters.lb-alg
     components:
       -
         name: my-svcg-comp
         type: ns::servicegroup
         properties:
           name: $parameters.name + "-svcgrp"
           servicetype: HTTP
           components:
            -
              name: lbvserver-svg-binding-comp
              type: ns::lbvserver_servicegroup_binding
              properties:
                 name: $parent.parent.properties.name
                 servicegroupname: $parent.properties.name
                   -
                     name: members-svcg-comp
                     type: ns::servicegroup_servicegroupmember_binding
                     repeat: $parameters.svc-servers
                     repeat-item: srv
                     properties:
                       ip: $srv
                       port: str($parameters.svc-port)
                       servicegroupname: $parent.properties.name
<!--NeedCopy-->

还可以通过访问父组件的父组件的属性,在组件的层次结构中一直向上导航到顶层组件。例如,组件 lbvserver-svg-binding-comp 的属性名称通过使用 $parent .parent 表示法从其父代的父代(my-lbvserver-comp 组件)的属性名称中获取其值。

父级引用