It’s only check when the view models are connected. In the following example
app.html
<template>
1. in here is a "view model", the App instance
<div repeat.for="item of items">
2. there is view model here created by Aurelia for each repeated item.
And whatever expression here will also take app instance view model (aka parent vm)
into account.
</div>
</template>
That’s the common scenario where you see Aurelia looks in parent view model for something. There’s another case where you can connect the view models yourself, via setting a special property on the metadata, named “inheritBindingContext”. We had another thread related to it here Question on why inheritBindingContext is off for normal component, but on for dynamically composed component
Would be great if @timfish can help clarify what he had in mind