2016-12-15 22 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プロバイダに注入され、フィルタの代わりにur.htmlをチェックインする必要があります。 –

関連する問題