Define in HTML
The first way, you can build this variables on your html, something like this:
<td><a ng-href="http://www.google.com/?test={{row.test}}&test2={{row.test2}}">{{url.display}}</a></td>
Using functions
You can create a function as well, for example:
Create a scope funciton that returns your link:
$scope.buildLink = function(row){
return 'http://www.google.com/?test='+row.test+'&test2='+row.test2;
}
Then use this function in your html:
<td><a ng-href="{{buildLink(row)}}">{{url.display}}</a></td>
You can see this in action
http://plnkr.co/edit/AgZ5erbPB177Y3OGYdLq
Dynamic Way
You can use $interpolate to compile the String with {{ }}. This $interpolate it is used by Angular $compile.
You pass the string, and the arguments that will be replaced, see the code:
$scope.buildLink = function(row){
var miniScope = {
row: row
};
var result = $interpolate($scope.url.link)(miniScope);
return result;
}
On your html you receive the value of this function:
<a ng-href="{{buildLink(row)}}">{{buildLink(row)}}</a>
You can see the plunker in action:
http://plnkr.co/edit/CSXsySKNhiDGWHgiithc
I hope it helps