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 的 name 属性通过使用 $parent.parent 符号,从其父组件的父组件(即 my-lbvserver-comp 组件)的 name 属性获取其值。

父级引用