<div ng-app="testrectApp">
<svg>
<rect height="10" width="10" style="fill: #00ff00" />
<testrect />
</svg>
</div>
E questa è la mia direttivaCompreso template SVG in direttiva Angularjs
module.directive('testrect', function() {
return {
restrict: 'E',
template: '<rect top="20" left="20" height="10" width="10" style="fill: #ff00ff" />',
replace: true
};
});
Ma questo è ciò che l'elemento finisce per assomigliare nel browser. Il riempimento due volte non è un errore di battitura.
<rect top="20" left="20" height="10" width="10" style="fill: #ff00ff;fill: #ff00ff"></rect>
Ecco un jsfiddle http://jsfiddle.net/RG2CF/
è quello che sto cercando di fare non è possibile o sto facendo qualcosa di sbagliato?
Grazie
EDIT: Vorrei aggiungere che il problema potrebbe avere a che fare con il fatto che il modello svg rect è namespace a xhtml invece di SVG, ma io sono sicuro di come posso forzare questo o dello spazio dei nomi torna a svg, se questa è in realtà la soluzione.
Discussioni simili qui: https://groups.google.com/forum/#!msg/angular/nP5JSuRuBMw/Wkv4DGMrtEUJ (mi sembra che il modo in cui AngularJS gestisce i modelli non supporta SVG) –
Grazie. È molto utile Ho l'impressione che il gruppo di Google sia il luogo in cui si svolge gran parte della discussione di Angularjs. – mkly
il "riempimento due volte" non appare quando viene modificata la versione angolare. Sembra specifico per 1.2.1. Forse introdotto da: https://github.com/angular/angular.js/commit/e1254b266dfa2d4e3756e4317152dbdbcabe44be#diff-a732922b631efed1b9f33a24082ae0dbR1595 – Olivvv