2017-03-01 131 views
0

我遇到問題了!我需要將2個div的日曆標題分開。我需要頂部日曆中的年份和頂部日曆中的月份。我可以用angular.element做到這一點,但我不明白爲什麼該函數運行2次。titleFormat將年份和月份分成2格fullcalendar <div>Year</div><div>Month</div>

這是我的代碼。

配置FullCalendar現在

  titleFormat: { 
        month: 'MMMM YYYY' 

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

eventAfterAllRender我把我的代碼分離,改變月份和年份

eventAfterAllRender: function(){    
     var fecha=angular.element('.fc-left').text().split(" "); 
     var mes=fecha[0]; 
     var ano=fecha[1];   
     console.log("veces"); 

    angular.element('.fc-left').html('<div><h2>'+ano+'</h2><button type="button" class="fc-prev-button fc-button fc-state-default"><span class="fc-icon fc-icon-left-single-arrow"></span></button></div>'); 
    angular.element('.fc-center').html("<h2>"+mes+"</h2>"); 
    }, 

的位置,但函數運行的2倍,所以月,年的未定義! 此外,我試圖把功能準備就緒,但不是好的。

angular.element(document).ready(function() { 
var fecha=angular.element('.fc-left').text().split(" "); 
     var mes=fecha[0]; 
     var ano=fecha[1];  
     console.log("veces"); 

    angular.element('.fc-left').html('<div><h2>'+ano+'</h2><button type="button" class="fc-prev-button fc-button fc-state-default"><span class="fc-icon fc-icon-left-single-arrow"></span></button></div>'); 
    angular.element('.fc-center').html("<h2>"+mes+"</h2>"); 
}) 

回答

0

您可以嘗試在viewRender代替eventAfterAllRender回調添加你的代碼和分裂view.title

這樣,你的代碼將只運行當視圖變化如次日個月移動,即使你沒有事件

https://fullcalendar.io/docs/display/viewRender/

例如

viewRender: function (view){  
    var fecha = view.title.split(" "); 
    var mes = fecha[0]; 
    var ano = fecha[1];   

angular.element('.fc-left').html('<div><h2>'+ano+'</h2><button type="button" class="fc-prev-button fc-button fc-state-default"><span class="fc-icon fc-icon-left-single-arrow"></span></button></div>'); 
angular.element('.fc-center').html("<h2>"+mes+"</h2>"); 
},