为什么我的AngularJS指令共享作用域?

为什么我的AngularJS指令共享作用域?,第1张

为什么我的AngularJS指令共享作用域?

如前面的答案中所述,AngularJS指令的默认行为是共享它们所包含的范围。此行为通过

scope
指令定义对象中的参数进行更改。

您可以在AngularJS文档的此部分中查看scope参数的文档:http :
//docs.angularjs.org/api/ng.$compile#description_comprehensive-directive-
api_directive-definition-
object


此参数具有三个选项:

  1. scope: false
    -共享指令包含的范围的默认行为

  2. scope: true
    -为指令创建一个新的作用域,其作用类似于其他子作用域,并从其父作用域原型继承

    • 参见示例1
    • scope: {}
      -创建一个不从其父范围继承原型的隔离范围

    • 参见示例2

从JSBin示例中可以看到,选项2和3都适用于您的示例。区别在于您是否要隔离新作用域。

AngularJS指南的指令部分中有一个很好的章节,说明了为什么隔离范围可以帮助使用指令创建更好的可重用模块:
AngularJS指南:隔离指令的范围



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存