首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular JS中的Self removable指令

angular JS中的Self removable指令
EN

Stack Overflow用户
提问于 2016-11-08 20:11:47
回答 1查看 60关注 0票数 0

我正在尝试创建允许我附加和销毁可重复元素的应用程序,但我遇到了一个问题。

首先,这是我的追加元素的指令:

代码语言:javascript
复制
myApp.directive("addWatcher", function($compile){
    return function(scope, element, attrs){
        element.bind("click", function(){
            angular.element(document.getElementById('watchers-space')).append($compile("<Watcher></Watcher>")(scope));
        });
    };
});

它包含这个div-button:

代码语言:javascript
复制
        <div ng-click="remove()">X</div>

当然,这里是watcher指令:

代码语言:javascript
复制
myApp.directive('watcher', function() {
    return {
        controller: function($scope, $element, $attrs, $transclude) {
            $scope.remove = function() {
                $element.remove();
            }
        },
        templateUrl: 'watcherDirective.html'
    };
});

问题是我可以添加许多“观察者”,但我只能删除最后添加的,也是在页面加载时首先创建的。在创建删除每个已创建的"Watcher“元素的机会的实现中,我错过了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-11-08 20:44:52

感谢@devqon的评论,我用这种方式解决了这个问题:

代码语言:javascript
复制
myApp.directive('watcher', function() {
    return {
        scope: true,
        controller: function($scope, $element, $attrs, $transclude) {
            $scope.remove = function() {
                $element.remove();
                $scope.$destroy();
            }
        },
        templateUrl: 'watcherDirective.html'
    };
});

现在一切都正常了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40486638

复制
相关文章

相似问题

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