我使用AngularJS和Web API从SQL表中加载数据。我做了一个函数,当从HTML表格中选择一行时,显示输入文本中的值。当我在调试时点击html表格上的任何一行时,出现此错误。在AngularJS中超出最大调用堆栈大小
的HTML
<td>Code</td>
<td><input type="text" size="10" pattern="^[a-zA-Z0-9]+$" title="Alphnumeric" required autofocus ng-model="selectedMember.Code.Staff_Type_Code">
<input type="text" size="10" hidden ng-model="selectedMember.sys_key" /> </td>
</tr>
<tr>
<td>Latin Description</td>
<td><input type="text" required size="35" ng-model="selectedMember.Latin.L_Desc"></td>
</tr>
<tr>
<td>Local Description</td>
<td><input type="text" required size="35" ng-model="selectedMember.Local.A_Desc"></td>
</tr>
<tbody>
<tr ng-repeat="c in Contracts | filter:selectedMember.Code | filter:selectedMember.Latin | filter:selectedMember.Local ">
<td style="display:none;"><a href="#" ng-click="showInEdit(c)">{{c.sys_key}}</a></td>
<td><a href="#" ng-click="showInEdit(c)">{{c.Staff_Type_Code}}</a></td>
<td><a href="#" ng-click="showInEdit(c)">{{c.L_Desc}}</a></td>
<td><a href="#" ng-click="showInEdit(c)">{{c.A_Desc}}</a></td>
<td><a href="#" ng-click="showInEdit(c)">{{c.Hours_Day}}</a></td>
<td><a href="#" ng-click="showInEdit(c)">{{c.Days_Week}}</a></td>
<td><a href="#" ng-click="showInEdit(c)">{{c.Type_EndWork}}</a></td>
<td><a href="#" ng-click="showInEdit(c)">{{c.Num_EndWork}}</a></td>
</tr>
</tbody>
Controller.js
$scope.selectedMember = { Code: "",sys_key:"", Latin:"" , Local:"", Hours_Day :"", Days_Week:"", Num_EndWork:"" }
$scope.showInEdit = function (member)
{
debugger;
$scope.selectedMember = member;
$scope.selectedMember.Code = member;
$scope.selectedMember.Latin = member;
$scope.selectedMember.Local = member;
}
当我评论的最后3行
,选择行值未在输入文本显示。或者我必须取消过滤器。是有一种方法都可以同时工作 任何帮助将不胜感激,提前致谢
你得到了什么错误? – vertika
超过最大调用堆栈大小 – Hassan
您是否将整个对象传递给'showInEdit()'函数?如果是'$ scope.selectedMember = member;'和'$ scope.selectedMember.Code = member;'看起来是矛盾的。我想你应该评论第一行 '$ scope.selectedMember = member;'你能分享你的'Contracts'数组的数据吗? –