Javascript 如何获取svg元素';s在角度指令中更改宽度/高度?

Javascript 如何获取svg元素';s在角度指令中更改宽度/高度?,javascript,css,angularjs,d3.js,svg,Javascript,Css,Angularjs,D3.js,Svg,我有一个如下的指令,其中我定义了D3SVG属性的宽度为100%。我需要得到px的值。我能够使用console.log((svg[0])[0].width.baseVal)访问SVGLength对象 但每当值更改时,对象都会得到更新,但当我打印console.log((svg[0])[0].width.baseVal.value)时,我总是得到0 有没有办法在元素的baseVal上添加一块手表 angular.module('sortron.directions')。directive('my

我有一个如下的指令,其中我定义了D3SVG属性的宽度为100%。我需要得到px的值。我能够使用console.log((svg[0])[0].width.baseVal)访问SVGLength对象

但每当值更改时,对象都会得到更新,但当我打印console.log((svg[0])[0].width.baseVal.value)时,我总是得到0

有没有办法在元素的baseVal上添加一块手表


angular.module('sortron.directions')。directive('myDirective',function(){
返回{
限制:“EA”,
作用域:{data:'=“},
替换:正确,
模板:“”,
链接:函数(范围、元素、属性){
var checkForNewVal=函数(newVal,oldVal){
var svg=d3。选择(“图表”);
selectAll('*').remove();
var bar=svg.attr(“宽度”、“100%”)
.attr(“高度”、“100%”)
.selectAll(“svg”)
.数据(newVal)
.enter();
console.log((svg[0])[0].width.baseVal);
};
//在数据上添加监视
范围:$watch('data',checkForNewVal,true);
}
}
});请参阅和templateNamespace:'svg'请参阅和templateNamespace:'svg'