I want to know if it is possible to do the following:
<div ng-repeat='article in articles | filter:search'>
...
<div>
{{marked(article.body)}}
</div>
...
</div>
So I want to execute the "marked" function, passing the article body as a parameter and display the generated output.
Expressions are used to bind application data to HTML. Expressions are written inside double curly braces such as in {{ expression}}. Expressions behave similar to ngbind directives. AngularJS expressions are pure JavaScript expressions and output the data where they are used.
It means it's used to achieve one time binding. Example. angular.
Try *ngIf="condition && yourfunction()" . Your function must return true to the if evaluate to true, but it will only be executed if your condition is true, since an and operator will stop on first false.
$eval evaluates an Angular expression against/on the current scope.
Sure, no problem with that syntax ! :)
All you need is to make sur the marked
function is defined in the right scope.
For instance, let's assume you are in the ArticleCtrl
controller :
app.controller('ArticleCtrl', function($scope) {
// Declare the method in the controller's scope
$scope.marked = function(article_body) {
// do whatever you want here
// and don't forget to return the expected result
return "LOVE CAPS! " + article_body.toUpperCase();
};
});
You can then use {{ marked(something) }}
in you template.
it's possible, but make sure that function will be $scope function.
Of course call function in ng-repeat isn't good idea, try to re think about your architecure and maybe create some model for it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With