angularjs ng-repeat list not updated when element is added/removed -
there list of users retrieved rest api. here template
<div ng:controller="usercontroller"> <a ng-click="createuser()">create user</a> <div ng-view> <ul> <li ng-repeat="user in users"> {[{user.first_name}]} {[{user.last_name}]} </li> </ul> </div> </div>
the js:
function usercontroller($scope, user, group){ $scope.users = user.query(); $scope.createuser = function(){ //$scope.users = null; //$scope.users.pop(); //$scope.users.push(new user({id:'5'})); console.log($scope.users); } }
the service: http://dpaste.com/1065440/
all users retrieved , listed correctly. problem cannot manipulate rendered list @ all. no matter push, pop or set null. list not change in template. last log statement shows changes, prints e.g. null when users array set null.
any ideas problem is?
the object push array should instance of user
function usercontroller($scope, user){ $scope.users = user.query(); $scope.createuser = function(){ $scope.users.push(new user({first_name:'bob', last_name: 'schmitt'})); } }
so, use new user({})
from our conversation, seems problem in routing. same outer controller assigned partial being loaded in ng-view
. removing ng:controller="usercontroller"
, moving createuser
button partial solve problem, if there's need call createuser
method outside of ng-view
, data related need in outer controller. so, can keep outer controller is, , change route use empty placeholder controller.
Comments
Post a Comment