Parent reference 编辑

Parent reference

If you are using nested components, you can refer to the parent component using the $parent notation. If the parent component builds multiple configuration objects using the repeat construct, and within each iteration, child components build other configuration objects, then the $parent notation always refers to the current iteration of the parent component. For example, $parent.properties.name refers to the name property of the configuration object built in the current iteration by the parent.

Example:

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-->

You can also navigate upward through the hierarchy of components by accessing the properties of the parents of parents all the way to the top-level components. For example, the property name of the component lbvserver-svg-binding-comp takes its value from the property name of the parent of its parent, the my-lbvserver-comp component, by using the $parent.parent notation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:38 次

字数:2162

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文