首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问angular指令中的模板子元素

访问angular指令中的模板子元素
EN

Stack Overflow用户
提问于 2014-02-25 07:36:49
回答 1查看 120关注 0票数 0

我正在尝试从一个很棒的jquery zooming/panning library中创建一个指令。如何访问模板中的元素来初始化插件?

到目前为止,该指令如下所示:

代码语言:javascript
复制
    directive('zui', [function () {
    return {
        restrict: 'E',
        scope: { URL: "@"},
        template: '<div id="zui" ><div id="viewport" ><img ng-src="{{imageURL}}"></div></div>',
        link: function (scope, element, attrs) {
            scope.imageURL = URL;

            var zui = new ZUI53.Viewport( document.getElementById('zui') );
            zui.addSurface( new ZUI53.Surfaces.CSS( document.getElementById('viewport') ) );

            var pan_tool = new ZUI53.Tools.Pan(zui);
            zui.toolset.add( pan_tool );
            pan_tool.attach()
        }
    };
}]);

显然,document.getByID()不是实现这一目标的最佳方式。什么是更好的解决方案?非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2014-02-25 07:48:20

使用document.getElementById('zui')访问元素确实不是一件好事。如果您曾经必须拥有两个zui指令实例,那么它将会中断。

  1. 不要在根元素上使用id。使用标记类(如class="zui" )或数据属性(如data-zui.
  2. Using jquery ),可以使用如下所示的find获取元素:element.find('.zui')[0];.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22001500

复制
相关文章

相似问题

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