用于将svg元素包装在g组中的Angular指令

时间:2014-06-28 12:02:28

标签: angularjs svg angularjs-directive

我一直在尝试各种迭代声明指令来包装一些SVG元素无济于事。我想创建一组看起来像这样的指令:

<polar-graph id="G1">
    <track id="T1">
        <marker id="M1"></marker>
    </track>
    <track id="T2">
        <marker id="M2"></marker>
    </track>
</polar-graph>

应该像这样呈现:

<svg id="G1>
    <g>
        <circle id="T1"></circle>
        <path id="M1"></path>
    </g>
    <g>
        <circle id="T2"></circle>
        <path id="M2"></path>
    </g>
</svg>

使用Angular 1.3 beta中的新type属性,我可以指出SVG元素(yay!),但是,我的问题是g元素。这是我的模板:

.directive('polarGraph', function(){
    return {
        restrict : 'AE',
        type : 'svg',
        transclude : true,
        replace : true,
        template : '<svg ng-transclude></svg>'
        ...
    }
 })

.directive('track', function(){
    return {
        restrict : 'AE',
        type : 'svg',
        transclude : true,
        replace : true,
        template : '<g><circle></circle></g>'   //Not sure how to include transcluded content after the circle 
        ...
    }
 })

.directive('marker', function(){
    return {
        restrict : 'AE',
        type : 'svg',
        replace : true,
        template : '<path></path>'
        ...
    }
 })

当我声明我的指令时,我希望track指令的所有属性都映射到SVG的circle而不是包含g组。目前,Angular会自动设置id组中的g和所有其他属性。我怎样才能在Angular中正确地做到这一点?

0 个答案:

没有答案