Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何编写依赖于本机角度过滤器的自定义过滤器_Angularjs_Angularjs Filter - Fatal编程技术网

Angularjs 如何编写依赖于本机角度过滤器的自定义过滤器

Angularjs 如何编写依赖于本机角度过滤器的自定义过滤器,angularjs,angularjs-filter,Angularjs,Angularjs Filter,我想编写一个依赖于本机角度过滤器的自定义过滤器。例如,我有一个可为空的C日期,我正在MVC中传递给我的视图,我想将其转换为'MM/dd/yyyy',如果它有值,则显示无 Html: <div>{{ myNullableDate | nullableDate }}</div> app.filter('nullableDate', function() { return function(dt) { if (dt) { // dt is something li

我想编写一个依赖于本机角度过滤器的自定义过滤器。例如,我有一个可为空的C日期,我正在MVC中传递给我的视图,我想将其转换为
'MM/dd/yyyy'
,如果它有值,则显示

Html:

<div>{{ myNullableDate | nullableDate }}</div>
app.filter('nullableDate', function() {
  return function(dt) {
    if (dt) { // dt is something like "/Date(1430341152570)/"
      var jsonDate = new Date(parseInt(dt.substr(6)));
      return jsonDate | date:'MM/dd/yyyy'; // <-- This is where I want to use Angular's existing `date:'format'` filter
    }

    // date is null, so just return None in italics
    return "<i>None</i>";
  };
});
{{myNullableDate}
Js:

<div>{{ myNullableDate | nullableDate }}</div>
app.filter('nullableDate', function() {
  return function(dt) {
    if (dt) { // dt is something like "/Date(1430341152570)/"
      var jsonDate = new Date(parseInt(dt.substr(6)));
      return jsonDate | date:'MM/dd/yyyy'; // <-- This is where I want to use Angular's existing `date:'format'` filter
    }

    // date is null, so just return None in italics
    return "<i>None</i>";
  };
});
app.filter('nullableDate',function(){
返回函数(dt){
如果(dt){//dt类似于“/Date(1430341152570)/”
var jsonDate=新日期(parseInt(dt.substr(6));

return jsonDate | date:'MM/dd/yyyy';//您可以尝试使用$filter依赖项调用现有筛选器:

$filter('existed_filter_name')(arg1,arg2);
参见相应的。

参见

app.filter('nullableDate',函数($filter){
返回函数(dt){
如果(dt){//dt类似于“/Date(1430341152570)/”
返回$filter('date')(dt,'MM/dd/yyyy');
}
//date为空,因此只需以斜体形式返回None
返回“无”;
};
});

您可以使用
$filter
服务访问日期筛选器

此外,如果希望筛选器的结果显示为html,则应使用
ng bind html
指令,并使用
$sce.trustAsHtml
返回结果(否则将看到字符串“None”作为输出):

.filter('nullableDate',函数($filter,$sce){
返回函数(dt){
如果(dt){//dt类似于“/Date(1430341152570)/”
var jsonDate=新日期(parseInt(dt.substr(6));
var格式=$filter('date')(jsonDate,'MM/dd/yyyy')//
<div ng-bind-html="myNullableDate | nullableDate"></div>