1
spinningElement에서 ng-show를 작동시킬 수 없습니다. 나는 지시어에 대해 고립 된 범위를 가지고 있지만 내부의 요소가 있기 때문에 작동해야한다고 생각하니?ng-show가 지시어에서 작동하지 않습니다.
누구나 내가 잘못하고있는 것에 대한 아이디어가 있습니까?
코드 스 니펫 :
angular.module('lr.upload.directives').directive('uploadButton', [
'upload',
function(upload) {
return {
restrict: 'EA',
scope: {
data: '=?data',
url: '@',
param: '@',
method: '@',
onUpload: '&',
onSuccess: '&',
onUploadTest: '&',
onError: '&',
onComplete: '&'
},
link: function(scope, element, attr) {
scope.uploading=false;
var el = angular.element(element);
var fileInput = angular.element('<input type="file" />');
var spinningElement = angular.element('<img ng-show="uploading" class="uploadSpinner" src="../../img/loading.gif" />');
el.append(fileInput);
el.append(spinningElement);
솔루션 : 당신이 그것을 작동하게하기위한 컴파일 $ 사용한다고 생각
angular.module('lr.upload.directives').directive('uploadButton', [
'upload', '$compile',
function(upload, $compile) {
return {
restrict: 'EA',
scope: {
data: '=?data',
url: '@',
param: '@',
method: '@',
onUpload: '&',
onSuccess: '&',
onUploadTest: '&',
onError: '&',
onComplete: '&'
},
link: function(scope, element, attr) {
scope.uploading = false;
var el = angular.element(element);
var fileInput = angular.element('<input type="file" />');
var spinningElement = $compile('<img ng-show="uploading" class="uploadSpinner" src="../../img/loading.gif" />')(scope);
el.append(fileInput);
el.append(spinningElement);
왜 템플릿을 사용하지 않거나 마크 업을위한 templateUrl? – Whisher
템플릿이나 템플릿 URL을 사용하는 것이 올바른 접근 방식이어야한다고 동의 하겠지만, 개발자는이 방법을 사용하여 코드를 조금만 확장하려고합니다. 따라서 코드를 다시 형식화하지 않으려 고합니다. 다른 감사합니다 :) –