Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每个ng重复的嵌套唯一ng模型_Javascript_Angularjs - Fatal编程技术网

Javascript 每个ng重复的嵌套唯一ng模型

Javascript 每个ng重复的嵌套唯一ng模型,javascript,angularjs,Javascript,Angularjs,当前正在创建包含嵌套的ng重复和ng模型的页面。ng模型基于美元指数 (因为JSFIDLE有一个过时的角度) 控制器: var myApp = angular.module('myApp', []); myApp.controller('teamController', function($scope) { $scope.league = { teams: 5, format: 4} $scope.toArray = functio

当前正在创建包含嵌套的ng重复和ng模型的页面。ng模型基于美元指数

(因为JSFIDLE有一个过时的角度)

控制器:

var myApp = angular.module('myApp', []);

myApp.controller('teamController', function($scope) {

    $scope.league = { teams: 5,
                     format: 4}

    $scope.toArray = function(team) {
        return new Array(team);
    };

    $scope.log = function(data) {
        console.log(data);
    };

});
HTML:


创建团队
团队{{$index+1}
队名
玩家{{$index+1}
试验
我从一家工厂提取了每支球队的球队和球员数量。它们只相当于两个数字。可能有5支球队,每个队有4名球员。这将创建一个包含五个重复表的页面,每个表中有4个玩家的行和一个团队名称

我正在想办法把这些数据发送到数据库。由于此页面是根据团队和玩家的数量呈现的,因此制作ng模型的唯一方法是使用$index

数据库有以下列(如有需要,可更改):

  • 团队id(唯一,插入时创建)
  • 联赛id(每个队都是唯一的,从工厂结转)
  • 队名
  • 玩家1
  • 玩家2
  • 玩家3(接受空值)
  • 播放器_4(接受空值)
  • 玩家_5(接受空值)
  • 播放器_6(接受空值)
  • 站立
  • 支付
  • 创建数据
  • 更新的
如何让一个页面包含重复的团队字段,并使用一个$http.put请求同时上载多个团队


此外,可能还有一个较小的问题,按照我的设置方式,它强制将每个文本的输入作为ng模型名称。这必须改变。

我认为您需要在新的结构中解析您的结构

$scope.parseLeague = [];

for(var i=0;i<$scope.league.teams ;i++){
  $scope.parseLeague.push({team: "team_"+i, players: []});
  for(var j=0;j<$scope.league.format;j++){
    $scope.parseLeague[i].players.push("player_"+j);
  }
}
工作笔
var myApp=angular.module('myApp',[]);
myApp.controller('teamController',函数($scope){
$scope.team={};
$scope.league={队数:5,
格式:4}
$scope.toArray=功能(团队){
返回新阵列(团队);
};
$scope.log=函数(数据){
控制台日志(数据);
};
});

创建团队
团队{{$index+1}
队名
玩家{{$index+1}
试验
JSON:
{{team}
我想你是在向后看。如果在控制器中设计所需的模型,则
ng repeat
将就位。您所采用的方法更像是JQuery的思维方式,尝试基于DOM构建模型。这是行不通的,关于无限摘要的多条消息可能会证明这一点。我现在正在看代码,看看我是否可以建议一种有角度的方法来做这件事。@Vanojx1刚刚发布了一个类似于我已经开始玩弄的结构。http.post请求是什么样子的?我将添加请求是基于后端php的??谢谢。我今天就试着回答。不,先生。NodeJS/Postgres。
$scope.parseLeague = [];

for(var i=0;i<$scope.league.teams ;i++){
  $scope.parseLeague.push({team: "team_"+i, players: []});
  for(var j=0;j<$scope.league.format;j++){
    $scope.parseLeague[i].players.push("player_"+j);
  }
}
<table ng-repeat="team in parseLeague track by $index">
<tr>
    <td>Team Name</td>
    <td><input type="text" ng-model="team.name"/></td>
</tr>
<tr ng-repeat="player in team.players track by $index">
    <td>Player {{$index + 1}}</td>
    <td><input type="text" ng-model="player"/></td>
</tr>
var request = $http({
    method: "post",
    url: "yoururl",
    data: { teamsdata: angular.toJson($scope.parseLeague)}
});
request.success(
    function( risp ) {
        //handle your risp
    }
);