javascript - 什么时候应该使用继承作用域,什么时候不应该使用?

标签 javascript angularjs

创建指令时,何时应该使用继承范围(即 scope:true)以及何时不应使用它(即 scope:false)

理解范围类型之间的差异,并知道每种范围类型的用途。但我不明白什么时候应该选择其中之一而不是另一个。

最佳答案

据我所知,以下是决策标准

  1. Controller 范围数据更改-(单向)->指令范围数据更改:使用继承范围。 范围:真实
  2. Controller 范围数据更改<-(双向)->指令范围数据更改:使用父范围。 范围:错误
  3. Controller 范围数据更改 -(无需更改数据)- 指令范围数据更改:使用新的隔离范围。 范围:{}

假设我们有一个功能: {用户名}文本框(外部指令)和 你好{Name}(指令内部,它显示在{Username}文本框之后)。

  1. 如果功能类似于更改 {Username} 应反射(reflect) {Name},则使用 1。
  2. 如果功能类似于更改 {Name} 或 {Username} 会反之亦然,则使用 2。
  3. 如果 {Name} 和 {Username} 之间没有关系,则使用 3。

虽然我们可以使用 3(隔离范围) 和 3 种类型的前缀 (@,=,&) >)我们可以通过它在范围之间传递数据,据我所知,这是最好的方法。

关于javascript - 什么时候应该使用继承作用域,什么时候不应该使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33298546/

相关文章:

javascript - 如何在单个 HTTP 请求中加载 Angular Controller 和模板?

javascript - 重定向到另一个页面后 authData 为 null

javascript - AngularJS 中的重复路由

javascript - 在此 for() 循环中将 substr 替换为第一个空格的更有效方法

javascript - Angular : "TypeError: Cannot read property ' insertBefore' of null"while using Slick Slider

javascript - 使用 for 循环进行数组迭代 - 使用条件语句和返回

javascript - 如何使用轴标签实现多重向下钻取

javascript - 在 $http.get 从 angularjs 中的 RESTful API 获取数据时放置一个微调器

javascript - 重复 XMLHttpRequest 请求

javascript - 引导模式中的自动完成