AngularJS of-grid Phone 格式

AngularJS ng-grid Phone format

希望有人会遇到这种情况,使用 ng-grid 组件显示数据。

其中一列是 phone 数字。有没有更简单的方法将 phone 格式化为 (123)-123-1234。

ng-grid 代码如下所示,

 $scope.gridOptions = { data:'records',
        enableRowSelection:false,
        filterOptions: $scope.filterOptions,
        columnDefs:[
            {field:'phoneNumber', displayName:'Phone', width:80} 
        ]};

将电话号码字段末尾的 } 替换为以下内容

, cellTemplate: " ({{row.getProperty(col.field).substr(0, 3)}}) {{row.getProperty(col.field).substr (3, 3)}} - {{row.getProperty(col.field).substr(6,4)}}"

这是一种有效的解决方案。信息 "row.getProperty(col.field)|phoneNumber"、"phoneNumber " 出现在 JSON 字符串中。 控制器中的代码对于列

是这样的
 $scope.gridOptions = { data:'records',
    enableRowSelection:false,
    filterOptions: $scope.filterOptions,
    columnDefs:[
        {field:'phoneNumber', displayName:'Phone', width:80,cellTemplate:'<div class="ngCellText" ng-class="col.colIndex()"><span ng-cell-text>{{row.getProperty(col.field)|phoneNumber}}</span></div>'}} 
    ]};

在 html 文件中有以下代码片段。

<div id="controller" data-ng-controller="controller">
    <div class="gridStyle" ng-grid="gridOptions" width="100%"></div>
</div>
 <script type="text/javascript" src="/common/PhoneFormat.js"></script> 
 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.js></script> 
 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-resource.js"></script>
 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-touch.js"></script>
 <script type="text/javascript" src="/common/ng-grid.js"></script>