Le direttive AngularJS hanno ng-
come prefisso. Perché insiste a utilizzare un prefisso invece di utilizzare un vero spazio dei nomi xml?Perché AngularJS non consiglia l'uso di spazi dei nomi XML?
Se si sceglie di utilizzare la vecchia direttiva stile di sintassi ng: allora includono namespace XML in html per rendere IE felice. (Questo è qui per ragioni storiche, e si consiglia non più uso di ng :.)
Utilizzando qualcosa come questo non sembra funzionare:
<html xmlns:ng="http://angularjs.org" ng:app="my-app">
come è evidente dal this jsFiddle.
Ma non è consigliabile utilizzarlo e supportarlo solo per ragioni storiche. Qualcuno può indicarmi quali potrebbero essere queste ragioni? Provenendo da uno sfondo Flex, penso che i namespace XML siano fantastici e mi piacerebbe usarli, ma forse ci sono forti ragioni per cui Angular deve adottare l'approccio prefisso?
Questo è curioso per l'utilizzo di AngularJS con SVG, poiché SVG utilizza un parser XML. Ad esempio, data- * e ng- * non sono legali in SVG (anche se alcuni browser potrebbero consentirlo). Tuttavia, ng: * è legale in SVG. http://stackoverflow.com/questions/15532371/do-svg-docs-support-custom-data-attributes –