@Peter and @Thiago: Right. I know this, lost track of the implication in this context, careless me. My real apps have one or more data objects in $scope in most cases, and always where it matters. This came up mostly because I was trying a simplified case, too simplified in this case.
The real thing I'm trying to do is set up generic passing of route vars into the scope of the current tab's controller. I'm using ng-include (not ng-view), so multiple tabs can be loaded at once, so as far as I can tell, that doesn't happen automagically.
Instead I set up $on("$routeChangeSuccess" in the top level controller, which extracted the params from the route, and broadcast a 'tabChange' event. Individual tab controllers had a $on('tabChange'..) set up to handle that. I was thinking there would be generic code to copy those params into the scope, but it's a bit weird to be locked into the name of the controller scope object to populate, and I didn't want the incoming route vars to have dots in them either. Copying directly into primitives in the scope "works", but has the inheritance limitations you both pointed out.
Has anyone tried to wire up anything like this, to generically pass whatever route parameters are defined into a particular child scope? Am I (hopefully) missing some way this can happen without me building infrastructure to cause it?
Thanks again to all, as always.
Dave