Performance of functions in HTML template

Hello there,
i want the texts within my HTML pages to be fully dynamical.
For that, i have an object which contains the strings i loaded from my webserver.
Normally, i would apply the text with something like this:


But i would like to wrap this into a function, so i can track, if some string is missing and report that back to my webserver, so i cann fill it there.
So, i plan, to do the following:


And in my controller something like this:

function getText(name){
      return object[name];
   //handle the missing string

In my first tests whit the second solution i saw, that getText() is called multiple times (up to 10 times and more). So i was wondering, how expensive is the function compared to the direct acces to the variable?
Can anyone give me some information an that?

Thank you

best regards

As you saw it is called multiple times - and this is by design.

Why not do the check once when you “fill” the variable?

Lets put the missing strings aside for a moment, because this will only be relevant during development. After that, i have all the strings needed available.

I think, the crucial part is, how expensive is the function with

      return object[name];

compared to the direct acces to the variable.
Do you have any knowledge about that?


Do your strings change when you are on a given page? If your strings are more or less static during a view, then your biggest savings would come from disabling change detection once you have loaded what you want. Or you can change the change detection strategy from default to onPush. I did that, though it seems I’m one of the only people on this board who works in onPush change detection.

I suggest you dig into the Angular docs on ChangeDetectorRef and ApplicationRef. You’ll probably find a lot of cost savings, given what you’re trying to do.

1 Like

Yes, once the strings are visible on a page, they dont change anymore. But, it still would be nice, to still use the standard change detection somehow, because my whole logic is built on that.
But i will check the angular docs.