angular 自定义指令中的 restrict 、Scope 中的@,=,&

angular 自定义指令中 restrict 可以怎么样设置,分别是什么意思?Scope 中@,=,&

有什么区别?怎么实现与父级别作用进行交互?

restrict 属性,来决定这个指令是作为标签(E)、属性(A)、属性值(C)、还是注释(M)。

Scope

1 false(默认值):直接使用父 scope。比较“危险”。

2 true:继承父 scope

3 {}可以理解成指令内部并没有一个新的 scope,它和指令以外的代码共享同一个 scope。

@:单向绑定,外部 scope 能够影响内部 scope,但反过来不成立

=:双向绑定,外部 scope 和内部 scope 的 model 能够相互改变

&:把内部 scope 的函数的返回值和外部 scope 的任何属性绑定起来