Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS向指令发送图像(和显示指令)_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript AngularJS向指令发送图像(和显示指令)

Javascript AngularJS向指令发送图像(和显示指令),javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,在我看来,我绑定到文件上载,因此: <input type="file" name="file" onchange="angular.element(this).scope().photoChanged(this.files)"/> 我有这样的指示: .directive('imageCrop', function () { return { template: '<div style="display: none;"><p>Im

在我看来,我绑定到文件上载,因此:

<input type="file" name="file" onchange="angular.element(this).scope().photoChanged(this.files)"/>

我有这样的指示:

  .directive('imageCrop', function () {
    return {
      template: '<div style="display: none;"><p>Image!</p></div>',
      restrict: 'E',
      link: function postLink(scope, element, attrs) {
        element.text('this is the imageCrop directive');
      }
    };
  });
指令('imageCrop',函数(){ 返回{ 模板:“图像!

”, 限制:'E', 链接:函数postLink(范围、元素、属性){ text('这是imageCrop指令'); } }; }); 我如何在控制器的方法中使该指令可见并向其发送我的图像


在这种情况下,哪种做法最好?

ngModel
注入到您的指令中

<input type="file" name="file" onchange="angular.element(this).scope().photoChanged(this.files)"/>
<imageCrop ngModel="image" />


在您的
photoChanged
功能中,将上传的文件绑定到model
image
。此外,在您的指令定义中需要
ngModel

使用$compile和add-into-document在控制器的方法中编译,或者在指令所在的位置使用ng(ommiting display:两种情况下模板中均无)。@IvoPeterka with controller不清楚……考虑一下,用每个新映像编译新指令只会带来释放已编译指令和内存需求的问题,所以这不是一个好方法。