Я пытаюсь найти лучший способ получить и установить значение для атрибута в теге HTML, используя AngularJS. Пример:
<!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>
Затем, когда я вызываю url '/home', я хотел бы получить значение из data-mycustomattr (что я буду использовать для другого вычисления), а затем заменить его на "1",
и если url является "/category", я хотел бы получить значение из data-mycustomattr и заменить его на "2".
С jQuery это действительно просто:
$("#myPselector").attr('data-mycustomattr');
или
$("#myPselector").attr('data-mycustomattr','newValue');
Я использовал этот код jQuery, помещая его в мои контроллеры, и он работает нормально. Но, насколько я понимаю, это может быть плохой практикой.
Однако решения, которые я нашел, которые используют директивы, слишком велики для такой простой задачи. Поэтому мне было интересно, может ли комбинирование jQuery и AngularJS в особых обстоятельствах быть не слишком плохим.
Как вы думаете? У вас есть лучшее решение для получения и установки значений атрибутов?
ОТВЕТ на основе ответа Джонатана:
<!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>
Затем в контроллеры я вставил:
$scope.mycustomattr = '1';
И для чтения:
if ($scope.mycustomattr == '1'){
// code
}
Протестировано и работает нормально.