AngularJS - разница между ng-grid и data-ng-grid

Я создал проект ASP.NET MVC 4, используя шаблон AngularJS, доступный для VS2012. На одной из страниц сетка закодирована в виде HTML

<div class="grid-style" data-ng-grid="userGrid">
</div>

Но при поиске проблемы с сеткой я вижу, что люди используют как

<div class="grid-style" ng-grid="userGrid">
</div>

В чем разница между data-ng-grid а также ng-grid?

2 ответа

Решение

Хотя на этот вопрос уже есть ответ, помеченный как правильный, стоит отметить, что речь идет не о поддержке браузера. data атрибуты фактически определены в спецификациях XHTML и HTML и, как таковые, являются допустимой разметкой. Это хорошая практика для использования data-ng-*, но это не из-за соответствия браузера; это для проверки. (В случае HTML, допустимая разметка является предпочтительной. В случае XHTML, допустимая разметка является жизненно важной, иначе страница сломается.)

.NET HTML разметка будет использовать data-ng атрибут, так что он создает HTML-разметку, которая будет проходить правила проверки. Опять же, это гораздо важнее для XHTML, но все же важно для HTML.

Они фактически одно и то же с точки зрения angularjs. Префикс данных для пользовательских атрибутов более широко поддерживается браузерами. Вы также можете использовать версию класса для директив, которая более широко поддерживается, как показано ниже.

<div class="ng-grid=userGrid">
</div>
Другие вопросы по тегам