如何在编译之前获取容器尺寸?

时间:2014-07-21 17:36:08

标签: angularjs d3.js

如何在获取容器的尺寸后确保指令被编译?

2 个答案:

答案 0 :(得分:0)

我猜,您忘了分配scope变量。如果您在控制器中,请尝试使用$scope

另一个可能的用途是,用你的按钮切换一个布尔变量,并使用ng-show代码为你的D3代码:

<button ng-click="showD3 = != showD3">Click me!</button>
<div d3-bars bar-height="20" bar-padding="5" ng-show="showD3"></div>

答案 1 :(得分:0)

由于没有提供弹药/小提琴,这是另一个猜测:)

尝试将新元素放入DOM中,然后再进行编译:

var newelem = '<div d3-bars bar-height="20" bar-padding="5"></div>';
newelem = angular.element(newelem);
element.append(newelem);
$compile(newelem)(scope);

这是为了在编译之前允许新元素具有宽度和高度。