Reputation: 39044
Controller code:
function usersView() {
var directive = {
templateUrl : "users/users.html",
restrict : "E",
replace : true,
bindToController : true,
controller : UsersCtrl,
controllerAs : 'usrs',
link : link,
scope : {}
};
return directive;
function link(scope, element, attrs) {}
}
//....
initUsersDirect();
function initUsersDirect() {
ApiFactory.getUsers().success(function(data) {
vm.usersList = data.users;
displayUsersList();
console.log('vm.usersList',vm.usersList);
});
}
function displayUsersList() {
vm.usersLoaded = true;
}
This is what 1 user object from usersList looks like:
{
active: 1
firstname: "Alexander"
id: 1345324526
lastname: "Finkle"
role_id: 4
session: Object
username: "[email protected]"
}
The markup:
<tbody>
<tr ng-repeat="{ u in usrs.usersList track by u.id }">
<td class="td-name">{ u.firstname } { u.lastname }</td>
<td class="sort-email">{ u.username }</td>
<td class="sort-login">{ u.session.formatted_date }</td>
<td class="sort-role">{ u.role_id }</td>
<td><button class="btn-green-sm">Remove</button></td>
</tr>
<tr>
<td>{{usrs.usersList}}</td>
</tr>
</tbody>
Any idea why I'm getting this error? Error: ngRepeat:iidexp Invalid Identifier
Upvotes: 0
Views: 2168
Reputation: 3765
The markup should be:
<tbody>
<tr ng-repeat="u in usrs.usersList track by u.id">
<td class="td-name">{{ u.firstname }} {{ u.lastname }}</td>
<td class="sort-email">{{ u.username }}</td>
<td class="sort-login">{{ u.session.formatted_date }}</td>
<td class="sort-role">{{ u.role_id }}</td>
<td><button class="btn-green-sm">Remove</button></td>
</tr>
<tr>
<td>{{usrs.usersList}}</td>
</tr>
</tbody>
Upvotes: 3