Javascript 数组内部的AngularJs数组显示在textarea中

Javascript 数组内部的AngularJs数组显示在textarea中,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,我有这样的数据 $scope.data = [{ "production_list": [ {"product": "google\n"}, {"product": "stackoverflow\n"}, {"product": "angular\n"} ] }] 我如何在文本区显示它 <textarea> google stackoverflow angular </textarea> 谷歌 栈溢出 有棱角的 我试过

我有这样的数据

$scope.data = [{
  "production_list": [
    {"product": "google\n"},
    {"product": "stackoverflow\n"},
    {"product": "angular\n"}
   ]
}]
我如何在文本区显示它

<textarea>
  google
  stackoverflow
  angular
</textarea>

谷歌
栈溢出
有棱角的
我试过的是

<tr ng-repeat="list in data">
  <td>
    <textarea ng-repeat="x in data.production_list">
       {{x.product}}
    </textarea>
  </td>
</tr>

{{x.product}}
输出是

<textarea>
  google
</textarea>
<textarea>
  stackoverflow
</textarea>
<textarea>
  angular
</textarea>

谷歌
栈溢出
有棱角的
这是一个可能的增量吗?因为与其重复,不如这样做

<textarea value="data.production_list[$index].product">
</textarea>


但是$index不起作用,它的值为0。您可以先创建一个函数,将数组中的数据连接起来,然后将其用作
ng模型

在控制器中:

 $scope.textareaData = data[0].production_list
  .map(function(item) {
    return item.product;
  })
  .join('');
那么您的文本区域将是:

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


这将输出
文本区域内的每个产品

您可以创建一个函数,首先连接阵列中的数据,然后将其用作
ng型号

在控制器中:

 $scope.textareaData = data[0].production_list
  .map(function(item) {
    return item.product;
  })
  .join('');
那么您的文本区域将是:

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


这将在您的
文本区域内输出每个产品

在控制器内创建一个函数,并在文本区域中使用它,例如

var myApp=angular.module('myApp',[]);
控制器('MyCtrl',函数($scope,$timeout){
$scope.data=[{
“生产清单”:[
{“产品”:“google\n”},
{“产品”:“stackoverflow\n”},
{“产品”:“角度\n”}
]
}]
$scope.textAreaValues=函数(数据){
var retVal=data.reduce(函数(a,b){
返回{product:a.product+b.product};
});
返回retVal.product;
}
});

{{textAreaValues(list.production_list)}

在控制器内创建一个函数,并在文本区域中使用它,例如

var myApp=angular.module('myApp',[]);
控制器('MyCtrl',函数($scope,$timeout){
$scope.data=[{
“生产清单”:[
{“产品”:“google\n”},
{“产品”:“stackoverflow\n”},
{“产品”:“角度\n”}
]
}]
$scope.textAreaValues=函数(数据){
var retVal=data.reduce(函数(a,b){
返回{product:a.product+b.product};
});
返回retVal.product;
}
});

{{textAreaValues(list.production_list)}

您可以使用过滤器,而不是将其作为作用域函数编写,这样您就可以轻松地跨模块重用代码

var-app=angular.module('myApp',[]);
app.filter('jointAttrs',function(){
返回函数(列表、属性名){
var joinedStr=“”;

对于(var i=0;i,您可以使用过滤器,而不是将其作为作用域函数编写,这样您就可以轻松地跨模块重用代码

var-app=angular.module('myApp',[]);
app.filter('jointAttrs',function(){
返回函数(列表、属性名){
var joinedStr=“”;


对于(var i=0;我这里需要双向绑定还是简单的一次绑定binding@jitender先生,你能给我举个例子吗?你的意思是如果你在textarea中做了任何更改,你也要更改控制器中的值吗?或者你想在textarea中简单地显示它们吗?只需在textarea中显示就可以了好的,检查我的答案,然后你需要这里的双向绑定还是简单的双向绑定时间binding@jitender先生,你能给我举个例子吗?你的意思是如果你在textarea中做了任何更改,你也要更改控制器中的值吗?或者你想简单地在textarea中显示它们吗?只需在textarea中显示就可以了。检查我的答案,然后如果数据中有多个对象,会发生什么情况?我想这取决于它们的数据结构e、 现在,它只是一个包裹在数组中的对象,因此我们将
生产列表
放在位置0。是的,它应该只是建议您给出一个灵活的回答谢谢,感谢提示!如果数据中有多个对象,会发生什么?我想这取决于它们的数据结构。现在,它只是一个对象包裹ped在一个数组中,因此我们将
生产列表
置于位置0。是的,它应该只是建议您给出灵活的回答谢谢,感谢提示!