从angularjs指令模板

时间:2015-09-12 16:26:22

标签: html angularjs html-table angular-directive

我试图弄清楚是否有可能获得父指令的宽度。 保持简单我有一些指令my-directive我把它放在一个表中:

<table>
<tr>
<td><my-directive ..../></td>
<td><my-directive ..../></td>
<td><my-directive ..../></td>
<td><my-directive ..../></td>
</tr>
</table>

在我的指令中我想知道我的父<td>的宽度,所以我可以正确地显示我的内容 - 根据宽度使用更多或更少的数据

可以吗?

更新: 我的HTML代码:

<table class="table">
    <thead>
        <tr>
            <td width="5%"></td>
            <td width="5%"></td>
            <td width="85%"></td>
        </tr>
        <tr>
            <th>Col 5</th>
            <th>Col 5</th>
            <th>Col C 85</th>
        </tr>
        </thead>
    <tbody>
        <tr>
            <td><trim value="Some value a"></trim></td>
            <td>Some value b</td>
            <td>Some value c</td>
        </tr>
    </tbody>
</table>

我的指示:

angular.module('ui.directives', []).directive('trim', function() {
  return {
    restrict: 'E',
    scope: {
        value: '@'
    },
    template: "{{value | limitTo:6}}"
  };
}

);

从模板中我可以限制一个常数我定义(或者从外面传递。但是我想改变它,要知道我自己,如果我应该修剪文本而不是

1 个答案:

答案 0 :(得分:0)

是的,你可以使用angular's jqlite来获取父元素,这是链接函数中jquery的一个子集。链接函数是为您的指令提供行为,在此函数中,您可以获取指令元素并在运行时根据您的需要对其进行修改。

and