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?


person kvothe    schedule 14.11.2013    source источник


Ответы (2)


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

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

person jedd.ahyoung    schedule 14.11.2013

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

<div class="ng-grid=userGrid">
</div>
person enalicho    schedule 14.11.2013
comment
Это не связано с поддержкой браузера. Все браузеры позволяют использовать настраиваемые атрибуты, но они не считаются стандартным HTML. Префикс данных был добавлен в спецификацию HTML, чтобы отметить ваши собственные настраиваемые атрибуты и сделать HTML действительным. Необязательная разметка Angular с использованием data предназначена просто для проверки вашего HTML. - person Phill; 14.11.2013