2016-09-19 22 views
1

角度材のmd-datepickerディレクティブを使用していますが、datepickerから日付を入力するだけでなく、日付を入力したいと思います。今MEANjsで別の日付形式をmd-datepickerで設定する

 angular.module('MyApp') 
      .controller('AppCtrl', function($scope) { 
      $scope.myDate = new Date(); 

      $scope.minDate = new Date(
      $scope.myDate.getFullYear()-1, 
      $scope.myDate.getMonth(), 
      $scope.myDate.getDate()); 

      $scope.maxDate = new Date(
      $scope.myDate.getFullYear()+1, 
      $scope.myDate.getMonth(), 
      $scope.myDate.getDate()); }) 

      .config(function($mdDateLocaleProvider) { 
      $mdDateLocaleProvider.formatDate = function(date) { 
      return date ? moment(date).format('DD.MM.YYYY') : ''; 
      }; 

      $mdDateLocaleProvider.parseDate = function(dateString) { 
      var m = moment(dateString, 'DD.MM.YYYY', true); 
      return m.isValid() ? m.toDate() : new Date(NaN); 
      }; 
     }); 

私の問題MEANJSのヨーマン・ジェネレータ・アプリケーションでの.configセクションを使用する場所である:私は、次のコード例を見つけました。私は何かを見つけることができませんでした。誰かがこれまでこれをしていますか?

+0

これまでのように私はコントローラのように設定し、瞬間をインストールして注入しましたが、どうにかして見つけられません。 – d8ta

答えて

1

md-datepickerファイルの読み込みに問題があり、MEAN.JSにロードするには、this answerをチェックしてください。

あなたのアプリにファイルを正しく読み込んでいて、アプリの設定ブロックにアクセスしたいのであれば、/modules/core/client/app/init.jsにあるファイルにアクセスして、このコードブロックに必要なロジックを追加するだけです:

// Setting HTML5 Location Mode 
    angular 
    .module(app.applicationModuleName) 
    .config(bootstrapConfig); 

    function bootstrapConfig($compileProvider, $locationProvider, $httpProvider, $mdDateLocaleProvider) { 
    $locationProvider.html5Mode(true).hashPrefix('!'); 

    $httpProvider.interceptors.push('authInterceptor'); 

    // Disable debug data for production environment 
    // @link https://docs.angularjs.org/guide/production 
    $compileProvider.debugInfoEnabled(app.applicationEnvironment !== 'production'); 

    // md-datepicker configuration 
    $mdDateLocaleProvider.formatDate = function(date) { 
     return date ? moment(date).format('DD.MM.YYYY') : ''; 
    }; 
    $mdDateLocaleProvider.parseDate = function(dateString) { 
     var m = moment(dateString, 'DD.MM.YYYY', true); 
     return m.isValid() ? m.toDate() : new Date(NaN); 
    }; 
} 

bootstrapConfig.$inject = ['$compileProvider', '$locationProvider', '$httpProvider', '$mdDateLocaleProvider']; 

$mdDateLocaleProviderをconfigブロックに注入することを忘れないでください。

+0

ありがとう、私はこれがまさに私が必要と思うものだと思います。病気をチェックして、これが役に立つかどうかを示してください。 – d8ta

+0

私は立ち上げがあり、dateformatは先月のある程度の優先順位ではなかったので、もう一度この問題に戻ってくれました。しかし、ここのコードでは、私はピッカーが私たちが望む形式を使用させることができました。 1つの問題はMean.jsアプリケーションにmoment.jsをインストールすることでした。これはたくさんの助けになりました:[HowTo:MEAN.jsプロジェクトにMoment.jsを追加する](http://zklinger2000.github.io/blog/2016/03/22/add-momentjs-to-meanjs)ありがとう! – d8ta

関連する問題