Как прикрепить отметку даты с Angularjs (простой режим)?

0

Я сделал пример того, как отображать дату на странице. Я создал js, называемый dateFilter.js. Как подключить его к странице html? (У меня есть ng-view на моей индексной странице)

Это dateFilter.js

(function()
{
    angular
        .module('myWeb')
            .filter('date', function ($filter) {
                return function (input) {
                    if (input == null) {
                        return "";

                    }

                    var _date = $filter('date')(new Date(input), 'MMM dd yyyy');

                    return _date.toUpperCase();
                };
            });
    })(); 

Я связал js с индексной страницей, а инструмент разработки (Fire Bug) показал, что я подключен.

Вот как я пытался подключиться (home.html)

<div class="container">
    <div class="row">
        <h2>HELLO!</h2>
        <div ng-bind="date in dates">
            {{date.date1}}
        </div>
    </div>
</div>

Когда я это делаю, он говорит, что у меня также есть ошибка в слове "in". Может ли кто-то помочь преодолеть его проблему?

Возможно, я не подключил его должным образом. Может ли кто-нибудь помочь мне с проблемой? :)

3 ответа

1
Лучший ответ

Как новичок вы должны прочитать ссылку и сделать некоторые уроки, чтобы изучить язык.

На первый взгляд я вижу 3 проблемы:

  1. Вы определили фильтр даты, но не используете его в HTML-коде.
  2. Фильтр даты вызывается сам и вызывает бесконечный цикл.
  3. Вы определили массив dates для использования в цикле ng-repeat?
  • 0
    Нет, я не да надо почитать ссылки и посмотреть. Благодарю.
0

ОК, наконец, я сделал это простым способом. Я должен был использовать такой контроллер. Спасибо за помощь, ребята! :)

dateController.js

(function () {
    angular
        .module('myWeb')
        .controller('dateController', dateController);
    dateController.$inject = ['$scope'];
    function dateController($scope, $rootScope) {
        $scope.today = new Date();
    }
})();

Затем, какую бы страницу вы не хотели иметь:

<div class="container">
    <div class="row">
        <h3>HELLO!</h3>

        <div ng-controller="dateController">
            {{today | date: 'MMM dd, yyyy'}}
        </div>           
    </div>
</div>

Не забудьте добавить js с помощью <script>. Вот он!

0

Похоже, вы пытаетесь записать все даты, но вместо использования ng-repeat вы используете ng-bind.

Попытайтесь сделать это вместо этого

<div ng-repeat="date in dates">

Я не могу видеть из вашего html, есть ли у вас ng-приложение, но если нет, вам это тоже понадобится. Что-то вроде этого:

ng-app="myWeb"
  • 0
    Да, у меня есть app.js, дело в том, что я не хочу повторяться, я просто хочу отобразить дату на своей странице. Как это сделать? В примере показано много дат. Когда я все равно попробовал, это не сработало. на самом деле весь тег div не отображается.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню