AngularJs在一个文件隔离范围中具有多个相同名称的控制器

一开始,我会说我是angular的初学者,并且我学习了它。我计划创建一个画廊系统,用户可以在其中创建多个画廊。我正在使用指令http.get parital进行编译并为拖放图像创建表单。对于一种形式,效果很好,但是当我添加更多形式时,我的函数将执行乘法时间。我认为我的逻辑对此不好,或者我做错了事。这是我的指令。

directive("contentControl",function($http,$compile){
    return {
        template: 'Click here',
        link: function(scope, element, attrs) {
            element.bind("click", function () {
                $http.get("/js/angular/File/view/admin/FileUpload.html").then(function(resp) {
                    var html = resp.data;
                    var templateGoesHere = angular.element(document.getElementById('templateGoesHere'));
                    templateGoesHere.append(html);

                    $compile(templateGoesHere)(scope);

                });

            });
        },

    }

模板

<div ng-controller="FileController">
    <button ng-click="upload(files)"></button>
    <form name="myForm">
        <div ngf-drop="add($files)" ng-model="files" class="drop-box clearfix"
             ngf-drag-over-class="dragover" ngf-multiple="true">
            <div ng-repeat="image in images">
                <div class="col-sm-3">
                    <img ngf-thumbnail="!image.file.$error && image.file"
                         ngf-size="{width: 5024, height:200, quality: 0.9}"
                         class="img-responsive">
                </div>
            </div>
        </div>
    </form>
</div>

和控制器

.controller('FileController', function ($scope, Upload) {
        $scope.files = [];
        $scope.images = [];
        $scope.add=function(files)
        {
            console.log(files);
        }
        $scope.upload = function (files) {
            angular.forEach($scope.images,function(file)
            {
        });
            //angular.forEach($scope.images,function(file)
            //{
            //    console.log(file.file);
            //    Upload.upload({
            //        url: '/gallery/create',
            //        fields: {'name': file.file.name}, // additional data to send
            //        file: file.file
            //    });
            //});
        }
    });

我正在寻找隔离数据,或者有人可以向我解释创建多层画廊的更好逻辑

蒙塞夫·哈森贝(Moncef Hassein-bey)

这是正常现象,因为每次使用伪指令时,都会创建一个新的http.get。

  1. 使用tempalteUrl来获取tempalte。或者,
  2. 删除此伪指令,并在单击element时使用ngIncludengIf包括您的模板。

    <a href="#" ng-click="showMyTemplate()">Click here</a>
    <div ng-if="showTmp">
       <div ng-include="template.html"/>
    </div>
    

在控制器中

// init
$scope.showTmp = false;
$scope.showMytemplate = function(){
    $scope.showTmp = true;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有路由属性的不明确的控制器名称:具有相同名称和不同名称空间的控制器用于版本控制

来自分类Dev

如果我在另一个文件中声明了另一个具有相同名称的变量会怎样?

来自分类Dev

Laravel-具有相同名称的多个控制器

来自分类Dev

在AngularJS中的一个控制器中控制多个视图

来自分类Dev

在Linux中创建多个具有相同名称的文件

来自分类Dev

如果其他C文件具有相同的名称,而我又不能修改其他文件,如何在同一个名称中使用多个具有相同名称的函数?

来自分类Dev

一个文件夹中是否可以有多个具有相同名称的文件?

来自分类Dev

keyup事件仅从第一个输入获得值,其中在一个具有相同名称和ID的表中多个可用

来自分类Dev

C ++函数被另一个DLL中具有相同名称的函数隐藏

来自分类Dev

检查JQUERY的同一文件夹中是否存在1个或多个具有相同名称但具有不同扩展名的文件

来自分类Dev

在Codeigniter的一个表中检索具有相同名称的多个数据

来自分类Dev

将任何名称的网页重定向到另一个文件夹中具有相同名称的另一个网页

来自分类Dev

一个文件夹中是否可以有多个具有相同名称的文件?

来自分类Dev

同一目录中的两个具有相同名称的文件

来自分类Dev

在两个不同目录中具有相同的控制器名称

来自分类Dev

将所有具有相同名称的文件从子目录移动到一个目录中

来自分类Dev

一个类中是否可能有多个具有相同名称但参数不同的方法?

来自分类Dev

我们可以在Codeigniter控制器中创建两个具有相同名称的函数吗?

来自分类Dev

在AngularJS中的一个控制器中控制多个视图

来自分类Dev

在另一个位置查找并创建具有相同名称的空文件

来自分类Dev

在Linux中创建具有相同名称的多个文件

来自分类Dev

如何路由具有不同区域和相同名称的api控制器?

来自分类Dev

如果其他C文件具有相同的名称,而我又不能修改其他文件,如何在同一个名称中使用多个具有相同名称的函数?

来自分类Dev

ASP.NET MVC两个具有相同名称的控制器,如何指定视图位置

来自分类Dev

将不同文件夹中具有相同名称的文件移动到一个文件夹中

来自分类Dev

如何从多个具有相同名称的输入文本字段中仅获取一个值?

来自分类Dev

如何再次创建具有相同名称的已删除控制器?

来自分类Dev

angularjs 绑定到具有隔离范围的控制器

来自分类Dev

从具有相同名称结构的文本文件中读取数据并将所有数据附加到一个新文件中

Related 相关文章

  1. 1

    具有路由属性的不明确的控制器名称:具有相同名称和不同名称空间的控制器用于版本控制

  2. 2

    如果我在另一个文件中声明了另一个具有相同名称的变量会怎样?

  3. 3

    Laravel-具有相同名称的多个控制器

  4. 4

    在AngularJS中的一个控制器中控制多个视图

  5. 5

    在Linux中创建多个具有相同名称的文件

  6. 6

    如果其他C文件具有相同的名称,而我又不能修改其他文件,如何在同一个名称中使用多个具有相同名称的函数?

  7. 7

    一个文件夹中是否可以有多个具有相同名称的文件?

  8. 8

    keyup事件仅从第一个输入获得值,其中在一个具有相同名称和ID的表中多个可用

  9. 9

    C ++函数被另一个DLL中具有相同名称的函数隐藏

  10. 10

    检查JQUERY的同一文件夹中是否存在1个或多个具有相同名称但具有不同扩展名的文件

  11. 11

    在Codeigniter的一个表中检索具有相同名称的多个数据

  12. 12

    将任何名称的网页重定向到另一个文件夹中具有相同名称的另一个网页

  13. 13

    一个文件夹中是否可以有多个具有相同名称的文件?

  14. 14

    同一目录中的两个具有相同名称的文件

  15. 15

    在两个不同目录中具有相同的控制器名称

  16. 16

    将所有具有相同名称的文件从子目录移动到一个目录中

  17. 17

    一个类中是否可能有多个具有相同名称但参数不同的方法?

  18. 18

    我们可以在Codeigniter控制器中创建两个具有相同名称的函数吗?

  19. 19

    在AngularJS中的一个控制器中控制多个视图

  20. 20

    在另一个位置查找并创建具有相同名称的空文件

  21. 21

    在Linux中创建具有相同名称的多个文件

  22. 22

    如何路由具有不同区域和相同名称的api控制器?

  23. 23

    如果其他C文件具有相同的名称,而我又不能修改其他文件,如何在同一个名称中使用多个具有相同名称的函数?

  24. 24

    ASP.NET MVC两个具有相同名称的控制器,如何指定视图位置

  25. 25

    将不同文件夹中具有相同名称的文件移动到一个文件夹中

  26. 26

    如何从多个具有相同名称的输入文本字段中仅获取一个值?

  27. 27

    如何再次创建具有相同名称的已删除控制器?

  28. 28

    angularjs 绑定到具有隔离范围的控制器

  29. 29

    从具有相同名称结构的文本文件中读取数据并将所有数据附加到一个新文件中

热门标签

归档