Angular 1.2不再允许在同一个元素上使用多个隔离的范围指令?

 woshishuia小姐 发布于 2023-02-13 07:22

我在Angular项目中有一些代码,它们使用两个具有隔离范围的独立指令.它们不需要共享范围,只需存在于同一元素上.它们都以稍微不同的方式改变DOM,并且重要的是绑定到作为参数传递的值.

这在1.0中工作,但是Angular 1.2现在在尝试执行此操作时会生成错误

要求新/隔离范围的多个指令

基于项目git历史出现Angular 1.2更改行为,以保持同一元素上的两个隔离指令分开.这是一件好事,当在同一元素上放置两个"Attribute"指令时,它可以正常工作.

像你期望的那样工作.

然而


引发上述错误.(多个指令要求新/隔离范围)

在这种情况下,我希望每个指令仍然与它们自己的非共享隔离范围并行存在.

这在Angular 1.2中仍然可行吗?

1 个回答
  • 在同一元素上定义多个指令时会发生什么情况的摘要:

      Scenario  directive #1   directive #2   Result
         1      no new scope   no new scope   Both directives use the controller's scope.
                                              (This should be obvious.)
         2      new scope      new scope      Both directives share one new child scope.
         3      new scope      no new scope   Both directives share one new child scope.
                                              Why does dir #2 use the child scope?
                                              This seems odd to me.
         4      isolate scope  no new scope   Angular v1.0: both directives share the
                                              isolate scope.
                                              Angular v1.2+: dir #1 uses the isolate scope,
                                              dir #2 uses the controller's scope.
    

    请注意,不允许以下方案(Angular引发错误):

      Scenario  directive #1   directive #2
         5      isolate scope  new scope
         6      isolate scope  isolate scope
    

    2023-02-13 07:29 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有