0
종속성을 포함해야하는 모든 응용 프로그램에서이를 사용하기 위해 dropzone js 지시문을 만들었습니다.
해당 지시문을 사용하는 동안 참조로 변수를 전달할 수 없습니다.
무엇이 문제 일 수 있습니까? 종속성이있는 다른 앱에 가치를 전달할 수 없습니까?의존성을 사용하여 참조에 대한 참조를 전달했습니다.
<my-image-widget my-selection="1" my-config="dropzoneConfig" my-name="trialname"></my-image-widget>
JS :
나던 작업을 HTML 지시자 변수 이름 설정을 전달
(function() {
var app;
app = angular.module('myWidget', ["ngCookies"]);
app.directive("myImageWidget", ['$cookies','$http', function($cookies,$http) {
return {
restrict : "E",
scope:{
mySelection:"@",
myName:'=',
myConfig:'=',
},
template: "<form class='dropzone test' action='{{apiCall}}' id='{{mySelection}}'> {{myName}}</form>",
controller : function($scope, $element, $attrs) {
console.log($attrs.myConfig+' ----name is -----'+$attrs.myName);
//var config;
var config = $attrs.myConfig;
console.log('Option is ---------->'+config.option);
//var config=$scope.dropzoneConfig;
var myDropzone = new Dropzone($element[0], config.options);
myDropzone.autoDiscover = false;
//Write function if you need to add some event after files added
myDropzone.on("sending", function(file, xhr, formData) {
xhr.setRequestHeader('X-CSRFToken', $cookies.csrftoken);
});
myDropzone.on("addedfile", function(file) {
var _this=this;
/* Maybe display some more file information on your page */
var removeButton = Dropzone.createElement("<button data-dz-remove>*Remove file</button>");
removeButton.addEventListener("click", function(e) {
e.preventDefault();
e.stopPropagation();
var server_file = $(file.previewTemplate).children('.server_file').text();
alert('server-file ----------->>'+server_file);
// Do a post request and pass this path and use server-side language to delete the file
// $.post(server_file,{'X-CSRFToken': $cookies.csrftoken}, 'json');
$http({method: 'POSt', url: server_file, headers: {'X-CSRFToken': $cookies.csrftoken}});
_this.removeFile(file);
});
file.previewElement.appendChild(removeButton);
});
myDropzone.on("success", function(file, response) {
console.log('&&&&&&&&&&&&&&&&&&&&&&After Adding response is ---------->'+response);
obj = JSON.parse(response);
console.log('*********************thumbnail created for ---------->'+obj.delete_url);
var removeLinkUrl = Dropzone.createElement('<span class="server_file">'+obj.delete_url+'</span>');
file.previewElement.appendChild(removeLinkUrl);
myDropzone.emit("thumbnail", file,'https://www.google.co.in/logos/doodles/2014/world-cup-2014-12-5204175918989312-res.png');
debugger;
// console.log('success');
});
myDropzone.on("removedfile", function(file) {
console.log('Removed file ---------->'+file.name);
/* Maybe display some more file information on your page */
});
_.each(config.eventHandlers, function (handler, event) {
console.log('loop');
myDropzone.on(event, handler);
});
},
replace : true,
transclude : true,
link : function(scope, element, attrs) {},
};
}]);
}).call(this);
정확한 방법으로 문제를 설명하십시오. 질문을 편집하여 나던 내용을 분명히하십시오. – mpm
@mpm 지시어에 변수 이름 설정을 전달하지 않습니다 .. – anam
doesn'twork .... show youre console.log ?? – BastienSander