3

在单个日历中添加两个议程周视图时遇到问题。请查看日历配置。

header:{
        left: 'prev,next',
        center: 'title',
        right: 'agendaWeek agendaWeek'
    },

在这里,我两次调用议程周,它在日历中出现了两个名为“周”的选项卡,但是当我单击其中任何一个时,两个视图都被激活,我也无法更改周选项卡的文本。所以请给它一些建议。

4

2 回答 2

0

从它的外观来看,您没有用引号关闭正确的标题变量。

也许这会奏效。

header:{
    left: 'prev,next',
    center: 'title',
    right: 'agendaWeek agendaWeek'
},

不过不确定。如果您可以发布一个 plunker 的小提琴,那么我们可以轻松诊断。

于 2013-06-30T20:49:45.813 回答
0

现在我们可以在单个日历中复制视图或创建自己的自定义视图。这是解决方案。我们需要更改 fullcalendar.js 文件。

  1. 首先添加您的自定义视图名称,根据我的问题,我想复制议程视图,这就是为什么我的视图名称将是“duplicateAgendaWeek”。将名称设置为默认值。

    buttonText: {
    prev: "<span class='fc-text-arrow'>&lsaquo;</span>",
    next: "<span class='fc-text-arrow'>&rsaquo;</span>",
    prevYear: "<span class='fc-text-arrow'>&laquo;</span>",
    nextYear: "<span class='fc-text-arrow'>&raquo;</span>",
    today: 'today',
    month: 'month',
    week: 'Weekly',
    day: 'Daily',
    duplicateAgendaWeek: 'Duplicate Week' // here is the name of my view.
    

    },

  2. 现在用您的视图名称复制现有的议程周函数。

    fcViews.duplicateAgendaWeek= DuplicateAgendaWeekView;
    
    function DuplicateAgendaWeekView(element, calendar) {
    var t = this;
    
    
    // exports
    t.render = render;
    
    
    // imports
    AgendaView.call(t, element, calendar, 'duplicateAgendaWeek');
    var opt = t.opt;
    var renderAgenda = t.renderAgenda;
    var formatDates = calendar.formatDates;
    
    
    
    function render(date, delta) {
    if (delta) {
        addDays(date, delta * 7);
    }
    var start = addDays(cloneDate(date), -((date.getDay() - opt('firstDay') + 7) % 7));
    var end = addDays(cloneDate(start), 7);
    var visStart = cloneDate(start);
    var visEnd = cloneDate(end);
    var weekends = opt('weekends');
    if (!weekends) {
        skipWeekend(visStart);
        skipWeekend(visEnd, -1, true);
    }
    t.title = formatDates(
        visStart,
        addDays(cloneDate(visEnd), -1),
        opt('titleFormat')
    );
    t.start = start;
    t.end = end;
    t.visStart = visStart;
    t.visEnd = visEnd;
    renderAgenda(weekends ? 7 : 5);
    }
    
    
    }
    
    ;;
    
  3. 现在最后一个需要为我们的自定义视图设置格式。

    // time formats
    titleFormat: {
    month: 'MMMM yyyy',
    week: "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",
    duplicateAgendaWeek: "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}", // set your view format here
    day: 'dddd, MMM d, yyyy'
    },
    columnFormat: {
    month: 'ddd',
    week: 'ddd M/d',
    duplicateAgendaWeek: 'ddd M/d',// set your view format here
    day: 'dddd M/d'
    },
    
  4. 现在只需从控制器调用视图名称。

      header:{
        left: 'prev,next',
        center: 'title',
        right: 'agendaDay agendaWeek duplicateAgendaWeek',
    },
    
于 2013-07-04T12:55:28.377 回答