在日历的特定日期仅显示标题

时间:2019-05-28 01:14:34

标签: angularjs fullcalendar

我在angularjs中使用fullcalendar,如下所示在日历中显示一些事件值

它会正确显示值。

<html>
   <head>
   <link rel="stylesheet" href="../fullcalendar- 
   4.1.0/packages/core/main.css"></script>
   <link rel="stylesheet" href="../fullcalendar- 
   4.1.0/packages/daygrid/main.css"></script>
   <link rel="stylesheet" href="../fullcalendar- 
   4.1.0/packages/list/main.css"></script>
   <link rel="stylesheet" href="../fullcalendar- 
  4.1.0/packages/timegrid/main.css"></script>
  <script type="text/javascript" src="../fullcalendar- 
    4.1.0/packages/core/main.js"></script>
    <script type="text/javascript" src="../fullcalendar- 
    4.1.0/packages/daygrid/main.js"></script>
    <script type="text/javascript" src="../fullcalendar- 
    4.1.0/packages/timegrid/main.js"></script>
    <script type="text/javascript" src="../fullcalendar- 
   4.1.0/packages/list/main.js"></script>
   </head>
   <script>
    $scope.event = {events: [{
            title:'test1',
            start: '2019-05-05 08:00',
            end: '2019-05-10 08:00'
          },
          {
            title:'test2',
            start: '2019-05-05 12:00'
        }]};
    var calendarEl = document.getElementById('calendar');

        var calendar = new FullCalendar.Calendar(calendarEl, {
            events: $scope.event.events,
            plugins: [ 'dayGrid','timeGrid','list' ],
            header: {
                      left: 'prev,next today',
                      center: 'title',
                      right: 'dayGridMonth,dayGridWeek,timeGridDay'
                    }
        });
        calendar.render();
    });
   </script>
   <body ng-app="myApp" ng-controller="myController">
   <div id="calendar" ng-model="eventSources"></div>    
   </body>
   </html>

尽管我已经在上面声明了标题,但它总是在特定日期的相应时间后面加上a或p。如何只在日历中显示标题?

2 个答案:

答案 0 :(得分:1)

如果指定了时间,则将显示为(对于AM)或p(对于PM);对于全天活动,您可以完全跳过输入时间...您可以检查以下代码:

更新:您还可以使用CSS删除时间-这样一来,全天事件与具有固定开始和/或结束时间的事件之间就没有区别。

angular.module('myApp', [])
  .controller('myController', function($scope) {
    $scope.event = {
      events: [{
          title: 'test1',
          start: '2019-05-05',
          end: '2019-05-10'
        },
        {
          title: 'test2',
          start: '2019-05-05'
        },
        {
          title: 'test3',
          start: '2019-05-13 15:00',
          end: '2019-05-15 11:30'
        },
        {
          title: 'test4',
          start: '2019-05-26 10:00',
          end: '2019-05-28 13:30'
        }
      ]
    };
    var calendarEl = document.getElementById('calendar');

    var calendar = new FullCalendar.Calendar(calendarEl, {
      events: $scope.event.events,
      plugins: ['dayGrid', 'timeGrid', 'list'],
      header: {
        left: 'prev,next today',
        center: 'title',
        right: 'dayGridMonth,dayGridWeek,timeGridDay'
      }
    });
    calendar.render();
  });
html,
body {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  font-size: 14px;
}

#calendar {
  max-width: 900px;
  margin: 40px auto;
}

.fc-day-grid-event .fc-time {
  display: none;
}
<link href='https://fullcalendar.io/assets/demo-to-codepen.css' rel='stylesheet' />
<link href='https://fullcalendar.io/releases/core/4.1.0/main.min.css' rel='stylesheet' />
<link href='https://fullcalendar.io/releases/daygrid/4.1.0/main.min.css' rel='stylesheet' />
<link href='https://fullcalendar.io/releases/timegrid/4.1.0/main.min.css' rel='stylesheet' />
<script src='https://fullcalendar.io/assets/demo-to-codepen.js'></script>
<script src='https://fullcalendar.io/releases/core/4.1.0/main.min.js'></script>
<script src='https://fullcalendar.io/releases/interaction/4.1.0/main.min.js'></script>
<script src='https://fullcalendar.io/releases/daygrid/4.1.0/main.min.js'></script>
<script src='https://fullcalendar.io/releases/timegrid/4.1.0/main.min.js'></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<body ng-app="myApp" ng-controller="myController">
  <div id="calendar" ng-model="eventSources"></div>
</body>

答案 1 :(得分:0)

如果我们要避免在标题后面加上时间,则需要定义开始时间和结束时间,而无需声明以下时间。

$scope.event = {events: [{
            title:'test1',
            start: '2019-05-05',
            end: '2019-05-10'
          },
          {
            title:'test2',
            start: '2019-05-05'
        }]};

请注意,我尚未上传完整代码,但仅更新了更改后的代码。其余代码保持不变。