I am trying to find the best way to get & set a value for an attribute in a HTML tag by using AngularJS. Example:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>My WebSite</title>
</head>
<body>
<h1>Title</h1>
<p>Praragraph1</p>
<p data-mycustomattr="1234567890">Paragraph 2</p>
<p>Paragraph 3</p>
<footer>Footer</footer>
</body>
</html>
Then, when I call the url '/home', I would like to get the value from data-mycustomattr (that I will use for another calculation), and then replace it for "1",
and if the url is '/category', I would like to get the value from data-mycustomattr, and replace it for "2".
With jQuery it is really simple:
$("#myPselector").attr('data-mycustomattr');
or
$("#myPselector").attr('data-mycustomattr','newValue');
I used that jQuery code, putting it inside my Controllers, and it is working fine. But as far as I read, it might be a bad practice.
However, the solutions I found, which uses Directives, are too big for a such a simple task. So I was wondering if combining jQuery and AngularJS at special circumstances may not be too bad after all.
What do you think? Do you have a better solution to get & set attribute's values?
ANSWER based on Jonathan's reply:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>My WebSite</title>
</head>
<body>
<h1>Title</h1>
<p>Praragraph1</p>
<p data-mycustomattr="{{mycustomattr}}">Paragraph 2</p>
<p>Paragraph 3</p>
<footer>Footer</footer>
</body>
</html>
Then, into the Controllers, I inserted:
$scope.mycustomattr = '1';
And for reading:
if ($scope.mycustomattr == '1'){
// code
}
Tested and working fine.