我正在构建一个仪表板组件,以允许用户添加显示底层数据库各种指标的小部件。每个小部件都是一个不同的指令。为了在仪表板中正确调整小部件的大小,我需要访问指令模板中定义的属性,但很难找到这样做的方法。
我通过编译它的指令来添加小部件:
divWidget = $compile("<" + widgetName + " test='3'></" + widgetName + ">")($scope);
然后将其附加到仪表板容器中:
divContainer = $("<div class='cell' style='width:" + w + "px;height:" + h + "px'></div>");
divContainer.append(divWidget);
$(element).append(divContainer);
我需要设置“w”和“h”的值,并将这些属性嵌入到小部件的指令模板中:
<div class="widget" my-rows="1" my-cols="3">
问题是,编译指令后如何访问 my-rows 和 my-cols ?我知道我可以为每个小部件定义一个服务以从外部访问小部件的配置,但这似乎是巨大的开销。
在上面的示例中,我可以很容易地访问“test”属性,但不能访问“my-rows”或“my-cols”。