我在控制器中有一个变量json,它有一个'元素数组',我想在同一个tr标签中显示所有元素,并带有' '两个元素之间。我想做以下示例:
element1 element2 element3 element4 element5 element6
这样做的最佳方法是什么?我想在视图中执行此操作而不使用控制器,也不要使用范围。
下面,我复制了我的观点代码,我想做这样的事情(它不起作用)
<div ng-repeat="element in data.elements">
{{ element }}
</div>
data.elements看起来像这样:
"elements": ["element_1", "element_1","element_2","element_3","element_4","element_5","element_6", ]
注意:元素是数据内部的对象。
答案 0 :(得分:0)
如果您不希望使用控制器,那么在将数据绑定到视图时,您的数据应该按照您希望的格式进行格式化。 (AKA已经格式化了你想要的方式)。
否则,控制器的整个要点是将数据操作和逻辑与视图分开。
至少,如果你不能引用一个外部javascript文件(我猜这是你的问题[由于cms限制或其他]),你可以在脚本标签中内联你的控制器。)
<script type='text/javascript'>
angular.module('nameOfYourAppModule').controller('ProperlyNamedViewController',[viewControllerFn]);
function viewControllerFn() {
vm = this;
vm.data = {"elements": ["element_1", "element_1","element_2","element_3","element_4","element_5","element_6", ]}
vm.returnFormattedElements = function returnFormattedElementsFn() {
return vm.data.elements.join(" ");
}
}
</script>
并在您的HTML中
<div ng-controller="ProperlyNamedViewController as viewModelSoIDontUseScope">
{{ viewModelSoIDontUseScope.returnFormattedElements() }}
</div>
如果这太乱了,你也可以简单地做{{ data.elements.join(' ') }}
而你不想使用控制器。