Javascript 使用Angular.js创建表
我正在尝试使用Angular.js创建一个表,该表的单元格将跨越多行 例如: 示例数据Javascript 使用Angular.js创建表,javascript,angularjs,Javascript,Angularjs,我正在尝试使用Angular.js创建一个表,该表的单元格将跨越多行 例如: 示例数据 var data = [{Colors: ["red","green","blue"]}] 预期产量 <table> <tr> <td rowspan="3">Colors</td> <td>red</td> </tr> <tr> <td>green</t
var data = [{Colors: ["red","green","blue"]}]
预期产量
<table>
<tr>
<td rowspan="3">Colors</td>
<td>red</td>
</tr>
<tr>
<td>green</td>
</tr>
<tr>
<td>blue</td>
</tr>
</table>
颜色
红色
绿色
蓝色
我使用ng show
指令使其工作。但这仍然会呈现一个额外的单元格,只是隐藏了。这将是理想的有适当的表渲染
ng开关
,如前所述,在严格解析的某些元素中无法工作(即:只允许某些标记的表)
有什么建议吗?通常,您可以使用类似的方法,有条件地从DOM中添加/删除内容,而不像ng show/ng hide那样只隐藏/显示内容
但是ng switch不能很好地处理表,因为它需要为switch语句添加一个额外的元素
幸运的是,有人编写了一个名为的指令,该指令只对元素使用一个属性,并有条件地将其从DOM中添加/删除。这是天才:-)
下面是一个例子(看看旁边的“资源”面板,我从github中包括了它)
我还展示了如何在没有全局变量的情况下制作控制器。使用Angular的最新版本回答问题 正如Andrew Joslin所写,隐藏元素(它应用
display:none
)。删除不匹配的元素,而不仅仅是隐藏它们。但是,当表达式时,开关也需要额外的元素
自上一个答案以来,已成为Angular的一部分,您不再需要外部库
(功能(win){
angular.module('myApp',[])
.控制器(“测试仪”,功能($范围){
$scope.data={
颜色:[“红色”、“绿色”、“蓝色”]
}
})
}(窗口)代码>
已转换的旧代码
刚转换成一个新的AngularJS
{{{什么}}
{{item}}
通过ng if解决方案
{{{什么}}
{{item}}
一个if
语句。。。多么有用和优雅。非常感谢。感谢您提供有关ngm if
的精彩提示。喜欢。为什么你的JavaScript代码,比如控制器,是一个匿名函数?我不是在争论,而是想学习。