It depends on if you’re using a Script or a Binding.
Let’s use the following example:
If I’m attempting to bind the Label’s
props.text to it’s sibling, “NestedButton”, then the binding looks like
If I’m attempting to bind against the Button which is within “FirstFlexContainer”, the binding would look like this:
To make sure your bindings are always resolving to a value, I always recommend using the property popover to select an available property; it’s the icon all of the way to the right of the binding input field:
It will never let you down (unless you change component names at some point in the future) and provides an easy to parse property tree:
Scripts look entirely different, and there’s a bit of variety in how you can do it. This page in the documentation lays everything out pretty well, but even in scripting you have the ability to use the property popover I just mentioned.
This following script would set the Label’s text to that of the non-sibling button:
self.props.text = self.parent.parent.parent.getChild("Button").props.text
Now, in your example you claim that the binding path the popover provides won’t work, but not why that won’t work. Component paths will never change at runtime (only within the Designer through user action), so that selection should work 100% of the time.