当前位置: 首页 > 面试题库 >

ng-模型`(带有指令DEMO)

翟俊远
2023-03-14
问题内容

我试图在类型文件的输入标签上使用ng-model:

<input type="file" ng-model="vm.uploadme" />

但是选择文件后,在控制器中,$ scope.vm.uploadme仍未定义。

如何在控制器中获取所选文件?


问题答案:

我使用指令创建了一种解决方法:

.directive("fileread", [function () {
    return {
        scope: {
            fileread: "="
        },
        link: function (scope, element, attributes) {
            element.bind("change", function (changeEvent) {
                var reader = new FileReader();
                reader.onload = function (loadEvent) {
                    scope.$apply(function () {
                        scope.fileread = loadEvent.target.result;
                    });
                }
                reader.readAsDataURL(changeEvent.target.files[0]);
            });
        }
    }
}]);

输入标签变为:

<input type="file" fileread="vm.uploadme" />

或者,如果仅需要文件定义:

.directive("fileread", [function () {
    return {
        scope: {
            fileread: "="
        },
        link: function (scope, element, attributes) {
            element.bind("change", function (changeEvent) {
                scope.$apply(function () {
                    scope.fileread = changeEvent.target.files[0];
                    // or all selected files:
                    // scope.fileread = changeEvent.target.files;
                });
            });
        }
    }
}]);


 类似资料:
  • 问题内容: 我正在尝试创建一个自定义组件,该组件使用从内而外的指令使用动态ng-model。 例如,我可以调用不同的组件,例如: 使用如下指令: 想法是,如果模型发生更改,则指令中的文本框将发生更改,反之亦然。 事实是,我尝试了不同的方法,但都没有成功,您可以在此处检查以下方法之一:http : //plnkr.co/edit/7MzDJsP8ZJ59nASjz31g?p=preview在此示例中

  • 本文向大家介绍AngularJS ng-mousedown 指令,包括了AngularJS ng-mousedown 指令的使用技巧和注意事项,需要的朋友参考一下 AngularJS ng-mousedown 指令 AngularJS 实例 在鼠标按下时执行表达式: 定义和用法 ng-mousedown 指令用于告诉 AngularJS 鼠标在指定的 HTML 元素上按下时要执行的操作。 ng-m

  • 问题内容: 我使用此指令,遍历数组“ myArr”,过滤了一些条件。 这给了我两个问题,我想得到一些意见: a)ng-show部分在那里,因为我有一个条件可以处理: 为了显示或隐藏“显示更多”部分。关于切换此和/或项目本身,我无法提出另一个想法。启动后,在控制器内部将$ scope.visible设置为10。我不能使用limitTo,因为它没有给我确定是否要显示更多内容的可能性,因为它当然会将数组

  • 问题内容: 用户故事:当新用户单击“新用户”复选框并接受“条款和条件”单选按钮时,应启用“注册”按钮。 我在angularJS中的代码无法正常工作。“注册”按钮保持禁用状态。想知道出了什么问题? 问题答案: 该表达式在当前范围内进行评估。因此,您只需要以下内容,而无需使用进行任何附加插值: 请注意,我添加了一个,因为如果用户 未 接受TnC,您可能希望禁用该按钮。 工作演示:http : //pl

  • 本文向大家介绍Angular 2 组件是带有模板的指令,包括了Angular 2 组件是带有模板的指令的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我想在内容更改时创建具有自定义行为的列表。我尝试为此创建一个指令,但是我对如何将ng-transclude与ng- repeat指令结合起来感到迷茫。有人可以让我走上正轨吗? HTML: Javascript: 我已经在这里工作了一部分 编辑: 条件: 该项目的模板必须在视图中定义,而不是在指令中定义,并且必须有权访问子作用域中的项目属性。理想情况下,我想像在ng-repeat指令中那