繁体   English   中英

uib-tabset杀死了我的输入更改指令的范围

[英]uib-tabset killing the scope of my input change directive

如果有一个uib-tabset和一个等待uib-tabset内部输入更改的指令,则会到达此指令但是必须触发一个范围。$ broadcast这不会调用该函数。

视图

  <uib-tabset active="active">
     <uib-tab>
       <input type="file" class="upload" share-all="" accept="image/*">

服务/指令

.directive('shareAll', [function() {
    return {
        restrict: 'A',
         link: function(scope, elem, attr) {
           $(elem).on('change', function(event) {
            return scope.$broadcast('shareIt', elem);
            }
        }
    }
});

调节器

$scope.$on('shareIt', function(event, file) {
});

我看到了这个( https://github.com/angular-ui/bootstrap/issues/1553 )但完全没有理解,这让我很慢。

一些想法?

我认为你不需要那个jQuery $对象,elem已经是一个jqLit​​e对象了(除非你有jQuery,然后elem已经是$的别名)。

你也没有关闭你的功能。

app.directive('shareAll', [function() {
    return {
        restrict: 'A',
        link: function(scope, elem, attr) {
            elem.on('change', function(event) {
                return scope.$broadcast('shareIt', elem);
            })
        }
    }
}]);

这是一个演示插件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM