Agreed, Service is better practice.
On Friday, 28 February 2014 16:15:41 UTC+8, Luke Kende wrote:
>
> If you are using $rootScope, which I personally think a service is the
> better practice, you will need to use ng-click and point it to a function
> that references the clicked object:
>
> <li ng-repeat="object in objects">
> <a ng-click="viewObject(object)">View</a>
> </li>
>
> function TheCtrl($location){
> $scope.objects = [
> { id: 1, data: 'the data', path:'/path/to/this/object'},
> { id: 2, data: 'more data', path: '/path/to/this/object'}
> ]
>
> $scope.viewObject(object){
> $rootScope.currentObject = object;
> $location.path(object.path);
> }
> }
>
> On Friday, February 28, 2014 1:10:05 AM UTC-7, Luke Kende wrote:
>>
>> You'll need to keep your objects referenced in a service, then use some
>> id that maps to the $routeParam. Something like this:
>>
>> function MyService(){
>> var objects = [
>> { id: 1, data: 'the data'},
>> { id: 2, data: 'more data'}
>> ]
>>
>> return objects;
>> }
>>
>> //in new route controller - this not fully fleshed-out code.... just
>> providing the idea
>> var indexOfObject = MyService.indexOf($routeParams.id);
>> $scope.object = MyService[indexOfObject];
>>
>> So in essence you are passing references not objects, and storing shared
>> data in a service.
>>
>>
>> On Thursday, February 27, 2014 9:18:12 AM UTC-7, duck wrote:
>>>
>>> I have a list of objects in the list view, now I want to click any one
>>> object to take me a new page without fetching data from server,
>>> so the object data can be passed to the new page. I can use angularjs
>>> $routeParams to pass individual parameter, but not whole object. if I
>>> use a individual parameters to fetch data from server, it slows down the
>>> performance.
>>>
>>> Thank you for your help!
>>> Lily
>>>
>>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/groups/opt_out.