这是我的指令
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);
            };
        }
    };
});它只显示第一个数据名称,但是当第二个数据注册时,它不能显示第二个名称,因此它只显示第一个数据名称
在我的控制器中
$scope.registerSuccess(data.dbName);在我的html中
<register-success style='display:none;'></register-success>发布于 2015-03-17 17:03:04
当您第二次调用$scope.registerSuccess函数时,elm.html函数(在您的链接函数中)将返回您第一次设置的有效html。因此,即使"msg“变量具有第二个名称,您也始终会看到第一条消息。
https://stackoverflow.com/questions/29094578
复制相似问题