如何使用AngularJS从textarea的每一行生成一个数组

Zac*_*bey 12 angularjs

我正在尝试创建一个textarea,其输入绑定到JS数组,其中条目对应于文本区域中的每一行.

我一直在尝试使用ngList它的可选参数来指定分隔符.我可以,通过在textarea的每一行之后添加逗号使其与default()一起使用,但我真的不想要求它.

textarea

<textarea ng-model="list"
          rows="5"
          ng-list="\n" >
</textarea>
Run Code Online (Sandbox Code Playgroud)

输入:

test1
test2
test3
Run Code Online (Sandbox Code Playgroud)

生成的输出是 ["test1\ntest2\ntest3"]

我在寻找的是: ["test1","test2",test3"]

Plnkr Demo

小智 16

这是在Angular 1.3中更新的,现在的工作原理如下:

<textarea ng-model="list" ng-list="&#10;" ng-trim="false"></textarea>
Run Code Online (Sandbox Code Playgroud)
  • ng-trim="false"指令添加到<textarea>标记
  • 使用ASCII代码换行符: &#10;


Zac*_*bey 5

编辑:Angular 1.3开始,这个答案已经过时了.

请参考@ OrangeSalty的回答


来自(1.2)ngList文档:

如果以form/something /指定,则该值将转换为正则表达式.

我刚添加了/它,它神奇地工作了!

<textarea ng-model="list"
          rows="5"
          ng-list="/\n/" >
</textarea>
Run Code Online (Sandbox Code Playgroud)

updated plnkr demo