Angularjs:在TextArea中打印带有新行的Array模型

Angularjs: Printing an Array model with new lines in a TextArea

本文关键字:新行 Array 模型 打印 TextArea Angularjs      更新时间:2023-09-26

我有一个简单的textarea控件

<div ng-controller="TodoCtrl">
      <textarea ng-model="myArray"></textarea>
  </div>

和一个字符串数组模型:

function TodoCtrl($scope) {
  $scope.myArray = [
      "something1", 
      "something2",
      "something3",
   ];    
}

我试着让每个条目都在自己的行上:

something1 
something2
something3

并且为了额外的信用,我想将文本重新分割回模型侧的数组中。

我尝试了一些东西,包括ng-list、自定义指令、自定义过滤器和ng-repeat,但没有任何进展。

小提琴的例子:http://jsfiddle.net/U3pVM/8162/

我不太明白你想达到什么目的。在小提琴中没有文本区。

可以修改数组,使每个字符串的末尾都有新的行字符。不确定这是否有帮助?

$scope.myArr = ['111'n', '222'n', '333'n']
http://jsfiddle.net/U3pVM/8161/

你的小提琴里面有很多信息,也许可以让它更简单?显示输入和输出

编辑:

用于输入和输出吗?如果只是为了输出,你可以这样做:http://jsfiddle.net/U3pVM/8164/

您需要的是两个变量。本质上你的textarea是一个文本字符串。因此,如果你需要一个数组,那么在字符串模型上设置一个监视器。

http://jsfiddle.net/U3pVM/8165/

$scope.myStr = 'aaaa'nbbbb'nccccc';
$scope.$watch('myStr', function(myStr){
    $scope.myArray = myStr.split(''n');
    console.log('$scope.myArray', $scope.myArray);
});