Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Angular.js创建表_Javascript_Angularjs - Fatal编程技术网

Javascript 使用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

我正在尝试使用Angular.js创建一个表,该表的单元格将跨越多行

例如:

示例数据

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代码,比如控制器,是一个匿名函数?我不是在争论,而是想学习。