我知道很久以前就曾问过这些问题,但没有一个问题适合我。我是指导工作的新手,可能是缺乏学习,我无法解决我的问题。
我在控制器中需要一个变量指令但是没有办法传递该值。这是我的指令代码
return {
restrict: 'A',
require: 'ngModel',
scope: {
image: '=ngModel',
allowedTypes: '@accept',
dimensionRestrictions: '&dimensions',
},
link: function($scope, element, attrs, ngModel) {
element.bind('change', function(event) {
var file = (event.srcElement || event.target).files[0];
ngModel.$setViewValue(file, 'change');
});
};
}
我需要控制器中的file
变量,但我不知道如何做到这一点......
我试过this fiddle,但它不适合我的情况。
任何形式的帮助将不胜感激。
答案 0 :(得分:0)
您可以将控制器中的功能发送到指令,您可以在其中传递file
变量
请参阅此Example,它将适用于您的案例
答案 1 :(得分:0)
试试这个:
return {
restrict: 'A',
link: function (scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind('change', function () {
scope.$apply(function () {
modelSetter(scope, element[0].files[0]);
});
});
}
};