2016-07-09 8 views
0

私はこのコードを持っており、html部分に素敵な日付形式を返しますが、コントローラの部分のJavaScriptに同じ形式を返す必要があります。AngulaJsコントローラでの日付形式

function Ctrl($scope) 
{ 
$scope.date = new Date(); 

} 

ビュー:

<div ng-app ng-controller="Ctrl"> 
{{date | date:'yyyy-MM-dd HH:mm:ss'}} 

</div> 

戻る:2016-07-09 00:14:09

は、だから私は理解されるであろうconsole.log(); 任意の助けに同じ形式を返すようにしたいです。

+2

ために、このリンクを好むことができます。あなたのjsで_ $ scope.date = $ filter( 'date')($ scope.date、 'yyyy-MM-dd HH:mm:ss');を使用してください。 –

+0

はい、正確です。迅速な対応に感謝します。私は –

+0

をチェックしてみましょう私は、このエラーを得た:にReferenceError:$フィルタは、それのコントローラーで依存関係として$フィルタを定義し –

答えて

1

このようなコントローラで$filterサービスを試してみてください。コントローラに$filterサービスを注入する必要があります。あなたはあなたの中のjavaスクリプトコードをNG-フィルタを使用しようとすると、あなたの構文コントローラで

app.controller("Ctrl",function ($scope, $filter){ 
    }); 

function Ctrl($scope, $filter) 
    { 
    $scope.date = new Date(); 
    } 

var date = $filter('date')(new Date(input), 'yyyy-MM-dd HH:mm:ss'); 

// Code goes here 
 

 
var app=angular.module('app',[]) 
 

 

 
app.controller("Ctrl",function($scope,$filter){ 
 
    
 
    $scope.date = new Date(); 
 
    var date = $filter('date')($scope.date, 'yyyy-MM-dd HH:mm:ss'); 
 
    
 
    console.log(date); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller=" Ctrl"> 
 
{{date | date:'yyyy-MM-dd HH:mm:ss'}} 
 

 
</div>

+0

感謝の男、そこでどのように私は、コントローラで$フィルタを挿入することができますか? –

+0

更新された回答を参照してください。 –

+0

問題だったかを調べる、おかげでたくさんの人のための応答 –

1

あなたはあなたのコントローラ内部でそれを定義する必要がありますコントローラがそれを検出できるようにします。ここ

app.controller('MainController', function($scope, $filter) {}); 

例えば

は、スコープと$の両方が私達が私達のコントローラで使用するものを依存しているフィルタリング$。 その後、JSコントローラの内部にカスタムまたはカスタムのいずれかのフィルタを適用できます。 あなたは、私が正しいだ場合は、HTML内のデータを濾過し、JS側で同じたくなっている詳細https://docs.angularjs.org/api/ng/filter/filter

+0

おかげで、それは参考になりました。 –