Javascript 如何在AngularJS指令中正确包装一次jquery调用?

Javascript 如何在AngularJS指令中正确包装一次jquery调用?,javascript,jquery,angularjs,angularjs-directive,Javascript,Jquery,Angularjs,Angularjs Directive,我有一个简单的指令 <a caracteristic="caracteristics.strength"></a> 所以基本上我的模型不会改变,如果我用指令呈现两个标签,$..弹出窗口将被调用两次 我怎样才能使它只加载一次 PS:我是angularJS的新手,现在还不能将这个jQuery插件转换成本地angularJS。如果我完全错了,请告诉我 弹出代码似乎与您的caracteristic指令完全分离,因此我不确定您为什么首先将其放在那里。您应该希望创建一个弹出指令:

我有一个简单的指令

<a caracteristic="caracteristics.strength"></a>
所以基本上我的模型不会改变,如果我用指令呈现两个标签,$..弹出窗口将被调用两次

我怎样才能使它只加载一次


PS:我是angularJS的新手,现在还不能将这个jQuery插件转换成本地angularJS。如果我完全错了,请告诉我

弹出代码似乎与您的caracteristic指令完全分离,因此我不确定您为什么首先将其放在那里。您应该希望创建一个弹出指令:

app.directive('popup', function() {
    return function (scope, elem) {
        elem.popup({
            transition : 'fade up',
            variation : "large"
        });
    };
});
然后将其附加到要弹出的元素:

<div popup class="mini label"></div>

你是说指令正按它应该的方式工作。Angular指令在您的案例中提供了一些功能,调用转换a标记并为使用它们的每个实例调用$'.mini.label'。弹出窗口。如果使用它两次,预期的行为是您将获得两次弹出窗口。@JME:它正在工作,是的,但是$'.mini.label'。弹出窗口可以加载一次,并且只有在dom准备就绪的情况下才会执行相同的操作。当只需要一次查询调用时,是否很难启动、重新启动和重新启动该查询调用?我想我没有清楚地解释我的观点。由于Angular指令为使用它们的每个实例提供了一些可重复的功能,这显然不是您的意图,那么我想我的观点是,在这种情况下,您不应该使用指令。
app.directive('popup', function() {
    return function (scope, elem) {
        elem.popup({
            transition : 'fade up',
            variation : "large"
        });
    };
});
<div popup class="mini label"></div>