2016-12-15 136 views
1

我使用離子,並嘗試了多種事情,但無法使過濾器工作。我不知道在哪裏放置過濾器的代碼?我嘗試在控制器和filter.js文件中,但都沒有工作。如何將秒轉換爲分鐘和秒的格式(330到5:30)

這是我試過的過濾器:

app.filter('secondsToDateTime', [function() { 
    return function(seconds) { 
     return new Date(1970, 0, 1).setSeconds(seconds); 
    }; 
}]) 

HTML:

{{seconds | secondsToDateTime | date:'mm:ss'}} 

回答

1

你的過濾器應該像下面的各個JS

<!DOCTYPE html> 
 
<html ng-app="plunker"> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    <script>document.write('<base href="' + document.location + '" />');</script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script data-require="[email protected]" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script> 
 
    <script src="app.js"></script> 
 
    </head> 
 

 
    <body ng-controller="MainCtrl"> 
 
    
 
    <p>filtered msg is :{{seconds | secondsToDateTime | date:'mm:ss'}}</p> 
 
    </body> 
 
<script> 
 
    var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.seconds=330; 
 
}); 
 
app.filter('secondsToDateTime', [function() { 
 
    return function(seconds) { 
 
     return new Date(1970, 0, 1).setSeconds(seconds); 
 
    }; 
 
}]) 
 

 
    </script> 
 
</html>

+0

我試圖跟隨,但我必須做錯了什麼......我粘貼了過濾器在我的控制器的底部......一切看起來都一樣......我不知道我在做什麼錯誤 – MehdiN

+0

得到了任何錯誤? –

+0

錯誤:[$ injector:unpr]未知提供者:secondsToDateTimeFilterProvider < - secondsToDateTimeFilter – MehdiN

0

Here the Demo

Here我正在轉換日期格式的秒。我認爲它會對你有用

+0

我試過了,但我得到這個錯誤..它阻止我從過渡到具有過濾器的視圖控制器 錯誤:[$注入器:unpr]未知的提供者:secondsToDateTimeFilterProvider < - secondsToDateTimeFilter – MehdiN

+0

注入控制器中的$ interval提供程序,並檢查你的HTML而不是過濾器需要使用secondsToDateTime? –