首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS克隆指令的元素并给出它自己的作用域

AngularJS克隆指令的元素并给出它自己的作用域
EN

Stack Overflow用户
提问于 2014-06-17 08:54:25
回答 1查看 849关注 0票数 1

使用AngularJS,当元素是一个已被排除的指令的克隆时,如何赋予它自己的作用域?

例如,说我有以下的HTML:

代码语言:javascript
复制
<body>
   <chicken></chicken>
</body>

以及以下指令:

代码语言:javascript
复制
app.directive('chicken', [
  '$rootElement',
  function($rootElement) {
    return {
      restrict: 'E',
      replace: true,
      transclude: true,
      template: '<div class="chicken" ng-transclude></div>',
      scope: {},
      link: function(scope, element, attrs) {
        scope.nature = 'timid';
        var egg = element.clone();
        $rootElement.append(egg);
      }
    };
  }
]);

如何确保egg有它自己的范围?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-17 09:19:52

创建一个新的范围并将其链接起来:

代码语言:javascript
复制
  link: function(scope, element, attrs) {
    scope.nature = 'timid';
    var egg = element.clone();
    var childScope = $rootElement.scope().new();
    $compile(egg)(childScope);
    $rootElement.append(egg);
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24259535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档