AngularJS-Direktiven haben ng-
, die ihnen vorangestellt sind. Warum besteht es darauf, ein Präfix zu verwenden, anstatt einen tatsächlichen XML-Namespace zu verwenden?Warum empfiehlt AngularJS die Verwendung von XML-Namespaces nicht?
Von AngularJS's documentation:
Wenn Sie die alten Stil Direktive Syntax ng verwenden: dann sind xml-Namensraum in html IE glücklich zu machen. (Dies ist hier aus historischen Gründen, und wir nicht mehr Gebrauch von ng empfehlen :.)
mit so etwas wie dies zu funktionieren scheint:
<html xmlns:ng="http://angularjs.org" ng:app="my-app">
wie aus this jsFiddle ersichtlich ist.
Aber es empfiehlt nicht, es zu verwenden und unterstützt es nur aus historischen Gründen. Kann mich jemand auf diese Gründe hinweisen? Aus einem Flex-Hintergrund kommend, denke ich, XML-Namespaces sind großartig und ich würde sie gerne nutzen, aber vielleicht gibt es starke Gründe für Angular, mit dem Präfix-Ansatz zu gehen?
Dies ist neugierig auf AngularJS mit SVG, weil SVG einen XML-Parser verwendet. Zum Beispiel, data-* und ng-* sind in SVG nicht legal (so manche Browser erlauben es). Ng: * ist legal in SVG. http://stackoverflow.com/questions/15532371/do-svg-docs-support-custom-data-attributes –