我收到的数据结构如下。我正在获取这些数据并将其显示在带有单选按钮的图形上。每个单选按钮都会显示"类别名称",但实际上我需要为类别名称显示不同的标签,而不是数据中的内容。例如,如果类别名称为false,我需要单选按钮来显示:"其他"如果确实如此,我需要展示:"我们的公司"。
0: Object
categoryName: false
categories: Array[4]
0: Object
1: Object
2: Object
3: Object
1: Object
categoryName: true
categories: Array[2]
0: Object
1: Object
<span ng-repeat="testCat in testCategories">
<input type="radio" name="programSelector2" ng-model="testCategoryId" ng-click="load( testCat.id )" value="{{testCat.id}}" >{{testCat.name}}
</span>
需要一些控制器逻辑方面的帮助我假设根据categoryName是什么来更新模型。
答案 0 :(得分:1)
您可以遵循三条不同的道路:
使用解析功能:
$scope.resolve = function(key) {
if (key == 'firstValue') {
return 'First description';
} else if (key == 'secondValue') {
return 'Second description;
}
}
并在HTML中
{{resolve(testCat.categoryName)}}
使用数组
$scope.resolve = [];
$scope.resolve['firstValue'] = 'First description;
$scope.resolve['secondValue'] = 'Second description;
并在HTML中
{{resolve[testCat.categoryName]}}
使用条件表达式
或者categoryName只有真假值的情况
{{ testCat.categoryName ? 'First description' : 'Second description' }}
答案 1 :(得分:0)
在控制器中创建函数,如:
scope.getCategoryName=function(categoryName){
if(categoryName === true)
return 'Other';
else
{
...
}
}
然后从你的HTML
中调用它<input type="radio" name="programSelector2" ng-model="testCategoryId" ng-click="load( testCat.id )" value="{{testCat.id}}" >{{getCategoryName(testCat.name)}}