我正在尝试设置一个指令但是看起来我在为$ scope分配内容并在其他地方使用它时遇到了一些麻烦。我从本教程中得到了这个:http://jsfiddle.net/JeJenny/ZG9re/
这是我的指示:
var myApp = angular.module('myApp', []);
myApp.directive('fileModel', ['$parse', function ($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind('change', function () {
console.log(scope);
scope.$apply(function () {
modelSetter(scope, element[0].files[0]);
});
});
}
};
}]);
我打印出scope
,我可以看到该元素已经填充。但是当我在这里打电话时:
myApp.controller('WizardController', ['$scope', 'fileUpload', function ($scope, fileUpload) {
$scope.submitForm = function () {
var file = $scope.myFile;
console.log('file is ');
console.dir(file);
}
}]);
它将$ scope.myFile返回为undefined。
我做错了什么?
这是一些额外的代码:
<form>
<input type="file" file-model="myFile" />
<button type="submit" ng-click="submitForm()" class="btn btn-default submit">Submit</button>
</form>