一开始我会说我是角度的初学者,我正在学习它。我计划创建画廊系统,用户可以在其中创建多个画廊。我正在使用 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
// });
//});
}
});
我正在寻找隔离数据,或者有人可以向我解释创建多个画廊的更好逻辑