我正在尝试将状态值从数字更改为“文字”
我想知道我怎么能解决它,我做错了什么?提前谢谢
<table>
<tr ng-repeat="x in Id">
<td>{{ x.id }}</td>
<td>{{ x.status | status}}</td>
</tr>
</table>
当我写| status&lt; - 它崩溃了整个ng重复,没有任何显示。
var app = angular.module('customersController', []);
function customersController($scope, $http) {
$http.get("localhost")
.success(function (response) {
$scope.Id = response;
});
app.filter('status', function () {
return function (input) {
var statu;
switch (input) {
case 10:
statu = 'Bronze';
break;
case 20:
statu = 'Silver';
break;
case 30:
statu = 'Gold';
break;
case 40:
statu = 'Elite';
break;
}
return statu;
};
});
答案 0 :(得分:1)
您正在控制器中定义过滤器。那是无效的。您只能在配置阶段,应用程序启动和控制器实例化之前向模块添加过滤器。代码应该是:
var app = angular.module('customersController', []);
app.filter('status', function () {
return function (input) {
var statu;
switch (input) {
case 10:
statu = 'Bronze';
break;
case 20:
statu = 'Silver';
break;
case 30:
statu = 'Gold';
break;
case 40:
statu = 'Elite';
break;
}
return statu;
};
});
app.controller('customersController', function($scope, $http) {
$http.get("localhost")
.success(function (response) {
$scope.Id = response;
});
});