Angular JS $ scope元素未定义

时间:2017-11-01 00:43:52

标签: javascript jquery angularjs

我正在尝试设置一个指令但是看起来我在为$ 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>

0 个答案:

没有答案