如何从外部触发指令模板内的元素?

时间:2016-08-22 13:02:47

标签: javascript jquery angularjs angularjs-directive

我无法访问app.js之外的dom元素,这些元素是由指令创建的,应该怎么做?请提出最好的方法,因为我是angularjs的新手

app.directive('myMenu', function() {
    return {
        restrict: 'E',
        transclude: true,
        template: ' <div class="sticky-wrapper"><div class="sticky-menu">   menu</div></div>'
    };
});

JSFiddle Link

2 个答案:

答案 0 :(得分:1)

您是否尝试使用$(document).ready(function() {,如下所示:

http://jsfiddle.net/dwyu78Ln/4/

$(document).ready(function() {
  var orgElementPos = $('.sticky-wrapper').offset();
  alert(orgElementPos.top);
})

答案 1 :(得分:0)

尝试这样的事情:

    var app = angular.module('app',[]);

app.directive('myMenu', function() {
    return {
        restrict: 'E',
        transclude: true,
        template: ' <div class="sticky-wrapper"><div class="sticky-menu">   menu</div></div>',
    link: function(element){
            var orgElementPos = $('.sticky-wrapper').offset().top;
        alert(orgElementPos);
    }
    };
});