创建指令时,何时应该使用继承范围(即 scope:true
)以及何时不应使用它(即 scope:false
)
我理解范围类型之间的差异,并知道每种范围类型的用途。但我不明白什么时候应该选择其中之一而不是另一个。
最佳答案
据我所知,以下是决策标准
- Controller 范围数据更改-(单向)->指令范围数据更改:使用继承范围。 范围:真实
- Controller 范围数据更改<-(双向)->指令范围数据更改:使用父范围。 范围:错误
- Controller 范围数据更改 -(无需更改数据)- 指令范围数据更改:使用新的隔离范围。 范围:{}
假设我们有一个功能: {用户名}文本框(外部指令)和 你好{Name}(指令内部,它显示在{Username}文本框之后)。
- 如果功能类似于更改 {Username} 应反射(reflect) {Name},则使用 1。
- 如果功能类似于更改 {Name} 或 {Username} 会反之亦然,则使用 2。
- 如果 {Name} 和 {Username} 之间没有关系,则使用 3。
虽然我们可以使用 3(隔离范围) 和 3 种类型的前缀 (@,=,&) >)我们可以通过它在范围之间传递数据,据我所知,这是最好的方法。
关于javascript - 什么时候应该使用继承作用域,什么时候不应该使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33298546/