[英]How to iterate through JavaScript Maps using ng-repeat in angularjs?
[英]Iterate through elements generated with ng-repeat in AngularJS
我的app.js:
var app = angular.module('factory', []);
app.controller('Ctrl', function($scope){
$scope.users =[
{name: 'jimbo', info: ''},
{name: 'bobby', info: ''}
];
$scope.addAllInfos = function(){
};
});
我的index.html:
<!DOCTYPE html>
<html ng-app="factory">
<head>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</head>
<body ng-controller="Ctrl">
<div ng-repeat="user in users">
Name: <input value="{{user.name}}"/><br>
Tell me sth: <input/><br><br><br>
</div>
<button ng-click="addAllInfos()">add all infos</button>
</body>
當點擊“添加所有信息”時,我想通過使用ng-repeat迭代我生成的所有用戶,並在對象的info-variable中保存每個“告訴我”輸入的輸入。 我怎么能用Angular這樣做?
您只需要使用ngModel
指令將每個重復的輸入綁定到user.info
:
Tell me sth: <input type="text" ng-model="user.info" />
演示: https : //jsfiddle.net/xsakgy6b/2/
請注意,在這種情況下, addAllInfos
函數可能會變得多余,因為雙向數據綁定會自動為您填充user
對象。
我認為你要找的是ng-model屬性。 您還應該在輸入字段上使用ng-model,而不是將值放入value屬性。 這將允許您完全控制Angular中的雙向綁定。
那么你真的不需要addAllInfos函數,Angular將跟蹤轉發器中每個對象的值和屬性。 代碼看起來像這樣。
<div ng-repeat="user in users">
Name: <input type="text" ng-model="user.name"/><br>
Tell me sth: <input type="text" ng-model="user.info"/><br><br><br>
</div>
你的第一個問題是你的addAllInfos()函數。
您沒有view / html可用的addAllInfos()函數。 您需要通過$ scope公開函數,或者通過控制器類返回。
你可以這樣做:$ scope.addAllInfos = function(){// code here};
這將允許您通過您的ng-click事件調用函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.