Angularjs中的自定义过滤器无法正常工作

Rag*_*rya 2 javascript php html5 codeigniter angularjs

我正在尝试在Angularjs中实现自定义过滤器.但我没有得到那个问题.未按预期获得输出.这是我的代码:

的script.js

var myApp = angular.module('myModule', []);
myApp.filter("gender", function(){
  return function(gender){
    switch(gender){
      case 1 : return 'Male';
      case 2 : return 'Female';
    }
  }
});

myApp.controller('myController', function($scope){
var employees = [
    { name : 'Raghu', gender : '1', salary : 84000.779 },
    { name : 'Anil', gender : '1', salary : 78000 },
    { name : 'Ramya', gender : '2', salary : 118000 },
    { name : 'Shwetha', gender : '2', salary : 68000 },
    { name : 'Chethan', gender : '1', salary : 168000 }
];
$scope.employees = employees;
Run Code Online (Sandbox Code Playgroud)

});

page.html中

<div class="container" ng-controller="myController">
        <h1>Angular Example Ten</h1>
        <table class="table">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Gender</th>
                    <th>Salary</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-repeat="employee in employees">
                    <td>{{ employee.name }}</td>
                    <td>{{ employee.gender | gender }}</td>
                    <td>{{ employee.salary }}</td>
                </tr>
            </tbody>
        </table>
    </div>
Run Code Online (Sandbox Code Playgroud)

Jai*_*Jai 5

将数字大小写更改为字符串值:

case '1' : return 'Male';
case '2' : return 'Female';
Run Code Online (Sandbox Code Playgroud)

因为1 !== "1".

console.log('1 !== "1" ::::', 1 !== "1"); // true
Run Code Online (Sandbox Code Playgroud)