Javascript 指令中的AngularJS附加作用域函数

Javascript 指令中的AngularJS附加作用域函数,javascript,angularjs,tooltipster,Javascript,Angularjs,Tooltipster,我有一个AngularJS指令,它连接到ng repeat中的元素,如下所示: 视图: 指令: angular.module('app') .directive('chatTooltip', function() { return { restrict: 'A', link: function(scope, el, attrs) { scope.

我有一个AngularJS指令,它连接到
ng repeat
中的元素,如下所示:

视图:

指令:

angular.module('app')
    .directive('chatTooltip',
        function() {
            return {
                restrict: 'A',
                link: function(scope, el, attrs) {
                    scope.mute = function() {
                        console.log('hello world');
                    };

                    $(el).tooltipster({
                        content: $('<button ng-click="mute()" class="btn">Mute</button>'),
                        position: 'left',
                        positionTracker: true,
                        trigger: 'hover',
                        interactive: true,
                        autoClose: false
                    });
                }
            };
        }
);
angular.module('app')
.directive('chatTooltip',
函数(){
返回{
限制:“A”,
链接:功能(范围、el、属性){
scope.mute=函数(){
log('helloworld');
};
$(el).tooltipster({
内容:$(“静音”),
位置:'左',
是的,
触发器:“悬停”,
互动:没错,
自动关闭:错误
});
}
};
}
);
我想调用
scope
$scope
-中定义的
mute()
函数?由于插件在指令中添加了HTML内容-我不确定我需要做什么?

我可以试着猜测

这里的问题是html是由jQuery解析的。而不是angular的解析器

因此,在您提供任何定制并调用预定义方法之前,我建议您为内容创建一个元素:

var button $(....);

然后将此值传递给
内容
选项,并使用
按钮强制订阅按钮的单击事件。在('click')
方法上。

请查看此问题/答案:

它展示了如何在jquery更改后“重新绑定”angularjs,以及如何从jquery调用angularjs函数

但是,简而言之,您可以使用如下代码从作用域调用angularjs函数(通过id标识控制器):


单击按钮时会发生什么情况?请执行console.log静音,以检查是否调用了它,然后尝试
el.tooltipster
而不是$(el)@voroninp无任何事件发生,@HarishR尝试了它没有响应?我看过一些关于使用
$compile
重置东西的东西?
var button $(....);
$('#idFromMyController').scope().myFunction();