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

textarea中的AngularJS格式数组值

高勇
2023-03-14
问题内容

我有一个angularJS应用程序,其中有一个数组。

  $scope.data[0] =  x1;
  $scope.data[1] =  x2;

和一个文本区域

  <textarea ng-model="data"> </textarea>

我可以看到textarea包含值x1,x2(用逗号分隔)。我想在单独的行上显示值。意味着所有数组值都应由换行符而不是逗号分隔。我需要为此编写过滤器吗?


问题答案:

您可以编写一条指令来修改ng-model如何将变量转换为输入值并返回。我只是在脑海中写下这些,所以我不知道它是否正确,但是类似的事情可能会做到:

app.directive('splitArray', function() {
    return {
        restrict: 'A',
        require: 'ngModel',
        link: function(scope, element, attr, ngModel) {

            function fromUser(text) {
                return text.split("\n");
            }

            function toUser(array) {                        
                return array.join("\n");
            }

            ngModel.$parsers.push(fromUser);
            ngModel.$formatters.push(toUser);
        }
    };
});

您可以像这样使用它:

  <textarea ng-model="data" split-array> </textarea>


 类似资料:
  • 问题内容: 这是我的plnkr:http ://plnkr.co/edit/n8cRXwIpHJw3jUpL8PX5?p=preview 您必须单击li元素,然后表格会出现。输入一个随机字符串,然后点击“添加通知”。代替textarea文本,您将得到未定义。 标记: JS部分: 返回“未定义”。我注意到当使用angular-ui的ui-if时,这不起作用。任何想法为什么这不起作用?如何解决? 问题

  • 问题内容: 我正在尝试编写一条指令,该指令会自动在中格式化数字,但模型未格式化。使它正常工作是很好的,在加载时,输入值在控制器中显示为1,000,000和1000000,但是,只有键入时,该函数才会触发。发生火灾的唯一时间是指令被加载且值为0时。 我怎样才能使它在keypress上起作用(我曾尝试绑定到keypress / keyup,但它不起作用)。 这是我的代码: 问题答案: 这是我们使用的工

  • 本文向大家介绍如何让textarea标签中的内容原格式输出?相关面试题,主要包含被问及如何让textarea标签中的内容原格式输出?时的应答技巧和注意事项,需要的朋友参考一下

  • 问题内容: 我正在使用bootstrap-datetimepicker和ISO8601 datetime格式,如其选项部分所述 在我的控制器中 它以(console.log)将数据发送到后端 并保存为数据库 在我的模板中 我在HTML上看到的输出为 但是根据Angular doc,它应该用于格式 我想念的是什么? 问题答案: 现在,我已经创建了一个过滤器 作为依赖项添加为 并用作 并将日期显示为

  • 问题内容: 我想使用带格式的数字输入来在用户键入大数字时向用户显示千位分隔符。这是我使用的指令代码: http //jsfiddle.net/LCZfd/3/ 当我使用它时有效,但是当我要使用它时,当用户键入大数字时,它会被某些东西奇怪地清除。 有什么问题? 问题答案: 如注释中所述,除数字,小数点分隔符(通常或取决于语言环境)和或之外,什么都不支持。您仍然可以 输入 任何内容,但是浏览器将丢弃任

  • 利用call函数控制数组的输出格式: #include <stdio.h> int matrix[10][10]; /* 格式化输出数组 */ void print(int matrix[][10], int m, int n) { int i, j; for (i = 0; i < m; ++i) { for (j = 0; j < n; ++j)