2013-06-26 34 views
24

Tôi muốn lặp qua các biến phạm vi $ với vòng lặp for như thế này. Trong ví dụ này đối tượng $ scope bao gồm một đối tượng tài khoản inlcuding 5 đối tượng, có tên là các số từ 1 đến 5. Mỗi đối tượng có một tên.

for(var i = 1; i < 5; i++){ 
    $('#name').val($scope.accounts.i.name); 
} 

Vấn đề:$ scope.accounts.ikhông xác định, vì tôi không được tính là một varibale bên trong $ phạm vi biến. Nó được tính là chữ cái i, vì vậy tôi thấy không có cơ hội để lặp qua một phạm vi với vòng lặp for. Khi tôi sử dụng "" quanh biến $ scope, nó sẽ được hiển thị dưới dạng html đơn giản và góc cạnh không được diễn giải.

+1

để chiếm được một mảng chứa 5 đối tượng trong số năm cặp giá trị quan trọng? Tài khoản –

+0

là một mảng có 5 đối tượng và một vài cặp giá trị khóa. Nhưng tất nhiên mọi tài khoản đều có cùng số lượng cặp. ;) – Sorcerer

+0

bản sao có thể có của [Lặp qua mảng trong JavaScript] (http://stackoverflow.com/questions/3010840/loop-through-array-in-javascript) – Stewie

Trả lời

44

cách góc làm trên là

$scope.accounts=[{name:"123"},{name:"124"},{name:"125"}] 

      angular.forEach($scope.accounts,function(value,index){ 
       alert(value.name); 
      }) 
1

Nếu tài khoản là một mảng, bạn có thể sử dụng các Indexer mảng:

for(var i = 1; i < 5; i++){ 
    $('#name').val($scope.accounts[i].name); 
} 
Các vấn đề liên quan