2

我目前有一个 angular 指令,我已经编写了该指令以使文件上传更容易。我基本上想让指令在上传完成后触发一个事件,然后使用 jquery 绑定这个事件来更新页面上的图像。

这就是我设置指令的方式:

module.directive("fileUpload", 
function()
{
    var directive = 
    {
        restrict:"E",
        template:'<form method="post" enctype="multipart/form-data"></form>',
        replace:true,

        compile: function compile()
        {
            return function postLink(scope, iElement, iAttrs, controller)
            {
                //some file upload code in jquery.
            }
        }
    };
    return directive;

});

我基本上想知道的是我怎样才能让这场火灾成为一个事件?(如果它是可能的)

我知道指令是一个复杂的领域,所以如果有人对我应该如何配置它有任何建议,他们也将不胜感激。

4

1 回答 1

4

如果你只想更新图片 url,你可以简单地让控制器来做。 http://plnkr.co/edit/yCKaKH

在这里,它使用在定义了“img”元素的指令中创建的 $scope。

如果您想在指令之外进行通信(范围方面),您可以通过 $scope.$emit() 和 $scope.$on() 使用事件机制。http://plnkr.co/edit/qlWIyB

于 2012-09-05T22:53:45.680 回答