Whenever an instruction is created, there is an option to inherit its own parent scope (typically the scope or root scope ($rootScope) provided by the external controller), or to create a new scope of its own, of course angularjs for our instructions. The scope parameters provide three choices, namely: false , true , {} ; by default false .
When the scope property is set to true , this indicates that the instruction we created is to create a new scope that inherits from our parent scope.
When we scope set it to false , the instruction we create and the parent scope (which is actually the same scope) share the same model model, so the model data is modified in the directive, and it is reflected in the model of the parent scope.
scope:{} This property creates a separate scope and does not inherit the parent scope.
Note: In child scope, use $parent.parentscopeproperty. This prevents the child scope from creating its own properties and can modify the properties of the parent scope directly.