Wednesday, November 12, 2014

Angularjs update migration : getting function parameters from template

Using angular 1.2.0-rc.3 with this code

// html 
...
<div ng-repeat="row in rowdata">
   <a ng-click="getDetailedListing('{{row._id.$oid}}');">Details</a>
</div>
...

//angular js controller
$scope.getDetailedListing = function(listingId) {
        console.log(listingId);
}

When the user clicks the 'a' element, in the console is printed the listingId ie. 54613ed26fb36f26e5ab41a8

But when we upgrade the angular version to 1.2.26, the same code printed {{row._id.$oid}} instead of the listing id. So the fix was changing the a element a little bit:

<a href="javascript:;" ng-init="listingId=row._id.$oid" ng-click="getDetailedListing(listingId);" >Details</a>

Reference
http://stackoverflow.com/questions/18694827/calling-a-scope-function-from-an-ng-include-template-passing-template-value-as-p

No comments: