Jquery 如何覆盖现有指令而不是其他指令

Jquery 如何覆盖现有指令而不是其他指令,jquery,angularjs,Jquery,Angularjs,这是我的指令 myDirectives.directive('registerSuccess', function($timeout) { return { restrict: 'E', replace: true, template: "<div class='alert alert-success alert-dismissable'></div>", link: function(scope,

这是我的指令

myDirectives.directive('registerSuccess', function($timeout) {
    return {
        restrict: 'E',
        replace: true,
        template: "<div class='alert alert-success alert-dismissable'></div>",
        link: function(scope, elm, attrs) {

            scope.registerSuccess = function(data) {
                alert(data);
                var msg = "Database "+data+" got registered"
                console.log(elm.attr('style'));
                elm.text((elm.html()||msg));
                elm.removeAttr('style');
                $timeout(function(){
                    elm.hide();
                }, 8000);
            };

        }
    };
});
在我的html中

<register-success style='display:none;'></register-success>


当您第二次调用$scope.registerSuccess函数时,elm.html函数(在链接函数中)返回您第一次设置的有效html。因此,即使“msg”变量有第二个名称,您也总是会看到第一条消息。

在哪里调用$scope.registerSuccess(data.dbName);?我是说,指令的控制器?
<register-success style='display:none;'></register-success>