Example WITHOUT \'dot\' http://jsfiddle.net/CmXaP/168/
Pa
-
As we know child scope creation in angularjs is based on prototypal inheritance.
Therefore, while while displaying the values it searches the current scope(child scope) for 'name', here in this case both child scopes does not have any 'name' variable, so it will be read from parent scope and will display in each child scope.
Basic rule: So reading a value will search the parents if it is not found.
But while writing a value always writes directly to the object, even if it is also defined higher up.
If one of child1 or child2 tries to write to parent's scope, it will work only on object var(non-primitive) types. The reason for this is that object(non-primitive) types are passed by reference.
In other way when it tries to write normal variable(primitive) it will write into the current scope(in case A) child scope), hence it is not getting reflected in other scopes.