如何将int值设置为角度的字符串

时间:2018-05-24 14:29:16

标签: javascript angularjs

我在一个当前为int的表中有一个值,我想将这些变量传递给网页上的表,但我想将这些值更改为实际名称而不是数字是否可以通过设置来实现控制器中的范围,然后将该字符串推送到html?

例如:

这将是表格行和头部的html代码,然后是表格数据。

<thead>
    <tr>
        <th>Foo</th>
    </tr>
</thead>
<tbody>
    <tr ng-repeat= "x in names">
        <td>{{ x.bar }}</td>
    </tr>
</tbody>

我不知道为角色创建范围的语法,然后将其推送到html或它将去的地方。

该表目前显示1代表bar。我希望它实际上说吧但注册为1.我不知道这是否有意义。

我已经看到了他们放置的地方

app.filter('thisfilter', function() {
    return function (bar)

    if((bar) || bar < 1){
        return status_options;
    }else{
        var lastdigit = bar % 100;

        if(lastdigit === 1){
            return 'audi'
        } else if(lastdigit === 2){
            return 'bmw'
        } else if(lastdigit === 3){
            return 'mercedes'
        } else if(last digit === 4){
            return 'lexus'
        }
    }
}

然后他们将其插回html

<td>{{ x.foo | thisfilter }}</td>

1 个答案:

答案 0 :(得分:0)

这是一个非常人为的例子,用于显示使用过滤器来代替数值显示文本。

&#13;
&#13;
angular.module('app', [])
  .filter('valueToText', () => {
    return (input) => {
      switch (input) {
        case 1:
          return 'bar';
        case 2:
          return 'foo'
        default:
          return input;
      }
    }
  })
  .controller('ctrl', ($scope) => {
    $scope.names = [{
      value: 1
    }, {
      value: 2
    }, {
      value: 2
    }, {
      value: 'foobar'
    }];
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <ul>
    <li ng-repeat="x in names">{{x.value | valueToText}}</li>
  </ul>
</div>
&#13;
&#13;
&#13;