2016-12-06 6 views
0

Я пытаюсь просто отображать сегодняшнюю дату в приложении Angular, но только показывает значение по умолчанию, несмотря ни на что. Я получаю дату с javascript:Понимание Угловой | date filter

var date = new Date(); 
var day = date.getDay(); 
var month = date.getMonth(); 
var year = date.getFullYear(); 
var dateNum = Number(day + "" + month + "" + year); 

Дата dateNum is 2112016 в консоли.

Угловая часть:

app.controller("mainCtrl", function($scope, $http) { 

    $scope.dateInfo = dateNum; 

... 

И HTML:

<body ng-app="weatherApp" ng-controller="mainCtrl"> 

    <div class="row main"> 
    <div class="col-lg-4"> 
     <div class="cardTokyo"> 

     <div class="row"> 
      <div class="col-xs-6"> 
      <p class="hour"> Placeholder 
       <p> 
      </div> 
      <div class="col-xs-6"> 
      <p class="date"> {{ dateInfo | date:"MM/dd/yyyy"}} 
       <p> 
      </div> 
     </div> 
     <!--row--> 

     ... 

Он просто отображает 01.01.1970, даже если ввести цифры вручную вместо dateInfo. Что я делаю не так?

+0

использования 'date' переменной вместо' dateInfo' в HTML –

+0

Что ... 'dateInfo' - это имя его переменной, это нормально –

+0

Он преобразуется в число, как можно отображать число с помощью труб? Если это можно сделать, я не видел. Дайте мне знать, если это возможно. –

ответ

3

Не нужно преобразовывать его в число и затем применять фильтр. Просто создайте объект даты и применить фильтр на него с любой формат, который вы хотите:

Контроллер:

function MyCtrl($scope) { 
    $scope.dateInfo = new Date(); 
} 

В Html:

<div class="col-xs-6"> 
    <p class="date"> {{ dateInfo | date:"MM/dd/yyyy"}}</p> 
</div> 
+0

Это правильный ответ, приняв его немного. – Sergi

+0

Рад, что это помогло :) – superUser