2017-05-15 16 views
0

私はアンドロイドのアプリを作り、私のアプリには入力の日付のある検索機能があります。私は、2017-5-10T17:00:00.000Zから2017-5-10までのmoment.angularを使用して構文解析の入力日付を試してみます。検索機能では動作しますが、アプリのエラーになり、検索ページに表示されているページに移動しないでください。エラー角モーメントの誤差

この私のhtml

<label class="item item-input"> 
    <span class="input-label">Start</span> 
    <input type="date" ng-model="trip.start"> 
</label> 

と、この私のコントローラ

$scope.trip.start = moment($scope.trip.start).format("YYYY-MM-DD"); 

ここで私は知らないと私は

<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js"></script> 
     <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script> 

私を助けてください、私のインデックスSRCIN一部を追加しますこの問題を解決する

ありがとう

+0

あなたのページにリンクされているJSファイルの順序を変更する必要があると思います。 – Jenny

+0

私は角度モーメントを使用するのが新しく、npmからtryexampleを使用しています。私は別のリンクにJSの順序を変更することを知らない – Nugka

答えて

0

問題のほとんどは日付形式です。与えられた日付は2017-5-10T17:00:00.000Zであり、フォーマットはYYYY-M-DDであり、標準のISOフォーマットではないため、ほとんどの場合、それを解析できません。 ISOによると、日付は2017-05-10T17:00:00.000Z

です。注:.formatは、出力用に入力フォーマットとは関係ありません。

注:これは答えに追加しています:JSの順序は正しいです。 momentangularから独立しているため、angularの後に現れる必要はありません。あなたは日付

moment(Date.parse($scope.trip.start)).format("YYYY-MM-DD"); 
+0

あなたのコードは私の検索ページで動作しますが、まだ別のページに移動することはできません。私の問題では、私は角モーメントを使用すると別のページに移動しません – Nugka

0

モーメント($ scope.trip.start).format( "YYYY-MM-DD")を取得するために、次の試みることができる

EDIT

は角ではありません日付オブジェクト形式。 回避策として、moment($ scope.trip.start)._ dを使用できます。

コードは $ scope.trip.start = moment($ scope.trip.start)._ d;

+0

検索では動作しますが、別のページには移動しません。 – Nugka

+0

イベントを開始する場合は、ng-change = "onChange()"ディレクティブを使用してコントローラ内に関数を定義してください。 –

+0

私は瞬時角度を削除すると私はすでに開始しています。検索ページで動作しますが、アプリでエラーが発生します – Nugka