将 HTML 传递给自定义指令
Passing HTML to a custom directive
我是 angular 的新手,我正在尝试在工作中做一些事情来轻松创建具有 CRUD 函数等功能的表。
例如:
我有以下声明:
<custom-table datasource="persons" headers="headers">
<custom-column header="header" display-member=""/>
<custom-column header="header" display-member=""/>
</custom-table>
我的自定义表是一个返回表元素的指令。问题是,我必须读取所有列才能构建表的标题和正文,但我无法弄清楚如何读取我作为指令内容传递的列......(我正在尝试尽可能少地使用jQuery(
我唯一能实现的就是单独读取每一列,但这样做,我将无法正确构建表。我想象的场景是,读取所有列声明,构建表头,并为正文放置一个 ng-repeat。
为了获取指令的内容(您的列定义(,您可以做几件事。但这是角度的一些高级用法,不确定您是否应该以这种方式做您想做的事:
1 - 使用 transclude 函数编译 innerHtml。您的指令链接函数可以接收 transcludeFn 作为第 5 个参数,此函数允许您编译指令中的任何内容,并且他们根据需要使用它。
2 - 实现编译函数指令。编译函数将接收 html,您可以查询它以提取 innerHtml。
如果我解决同样的问题,而不是寻找指令内容,我宁愿让表列也成为指令。
您可能想看看 angular-Ui/bootstrap 项目如何实现选项卡组件,了解它与子选项卡的关系以及它们如何相互交谈。
我认为为此目的创建指令是有好处的,但是只是动态构建表格怎么样。这是一个代码笔
<table>
<thead>
<tr>
<th ng-repeat="value in table.data.headers">{{value}}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in table.data.body">
<td ng-repeat="property in item">{{property}}</td>
</tr>
</tbody>
</table>
相关文章:
- 如何在自定义指令中获取计算的属性
- 向动态生成的DOM添加Angular自定义指令
- 自定义指令中的AngularJS ng模型
- 如何在html中以角度显示自定义指令的作用域
- 自定义指令模板中的AngularJS控制变量
- AngularJS通过自定义指令传递点击的项目
- 如何在angularjs中将多个作用域变量传递到自定义指令中
- 处理角度自定义指令中的onReady事件
- 为什么ng中的自定义指令在循环完成后重复运行
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- Angular.JS自定义指令;不起作用
- 如何通过Angular中的$resource发送来自自定义指令的输入值
- AngularJS:如何访问自定义指令中的input[date]min属性
- AngularJS:ngRepeat作用域在具有隔离作用域和ngTransclude的自定义指令中失败
- 如何使用其他自定义指令中的元素标记作为另一个自定义指令的模板
- 如何限制自定义指令的可能属性值
- 动态网格作为自定义指令
- AngularJS - 在自定义指令中继承ngModel
- 调用另一个自定义指令的角度自定义指令
- 在 AngularJs 中验证自定义指令(我想让它成为必需的)