javascript - $scope.uiGrid is undefined -
i'm trying create table using angularjs ui-grid keep getting told $scope.uigrid undefined, can tell me i'm doing wrong?
requestyelp.success( function(obj) { console.log(obj.businesses[0].name); $scope.gridoptions = { enablesorting: true, rowheight:100, columndefs: [ { field: 'name' }, { field: 'company' }, { field: 'image', celltemplate:"<img width=\"50px\" ng-src=\"{{grid.getcellvalue(row, col)}}\" lazy-src>"} ], data:[ {name:obj.businesses[0].name,company: "company1", image: obj.businesses[0].image_url}, {name:obj.businesses[1].name,company:"company2",image:obj.businesses[1].image_url}, {name:obj.businesses[2].name,company:"company3",image:obj.businesses[2].image_url} ] }; } ); }]); console.log(obj.businesses[0].name) put right data console it's not problem obj variable. code breaks when gets gridoptions.
i don't know exact details how ui-grid works. i'm guessing ui-grid directive expects $scope.gridoptions available on $scope. however, assigning $scope.gridoptions after asynchronous http request has finished loading.
you should try provide empty (or adequately primed) $scope.gridoptions before doing http request.
alternatively there's trick delay linking of any directive adding additional ng-if on same element. set this:
ng-if='whenhttprequesthasfinishedloading'
and inside success() function set $scope.whenhttprequesthasfinishedloading = true
Comments
Post a Comment