1
在HTML中,我想要顯示多行項目(任務時間軸)。 在每一行中,甘特圖項,甘特圖用於繪製一年365天內顯示的365個小方框,這些小方框呈現爲 。 並且每一行都需要顯示一個藍色塊,這意味着該任務的分配週期。 {{timeline(item.data.sDate,item.data.eDate)}},每行只包含一個藍色塊。當我使用angularJS ng-repeat時,它不顯示我在javascript中添加的內容
HTML
<ul>
<li ng-repeat="item in items.entities">
<ul class="gantt-items" style="width: 9150px; height: 35px" >
<li class="gantt-item" >
<ul class="gantt-days">
</ul>
</li>
</ul>
{{timeline(item.data.sDate,item.data.eDate)}}
</li>
</ul>
JS
angular.module('myApp', ['ngResource']);
function MainCtrl($scope,$resource){
$(document).ready(function(){
...
for(var i = 1; i < 366; i++){
$(".gantt-item ul.gantt-days").append('<li class="gantt-day" style="width: 25px"><span style="line-height: 35px; height: 35px">' + year + "-" + d.getMonth() + "-" + d.getDate() + '</span></li>');
d = new Date(d.getTime() + (24 * 60 * 60 * 1000));
}
...});
$scope.timeline = function GetLength(startDate, endDate){
var firstDay = new Date(new Date().getFullYear(), 0, 1);
var st1 = startDate.split("/");
var dt1 = new Date(st1[2], st1[1] - 1, st1[0]);
var st2 = endDate.split("/");
var dt2 = new Date(st2[2], st2[1] - 1, st2[0]);
var startPoint = ((dt1.getTime() - firstDay.getTime())/1000/60/60/24)*25;
var length = (1+(dt2.getTime() - dt1.getTime())/1000/60/60/24)*25;
$(".gantt-item ul.gantt-days").append('<span class="gantt-block" style="left:' + startPoint + 'px; width: ' + length + 'px; height: 27px"><strong class="gantt-block-label">Duration</strong></span>');
};
當我使用NG-重複,$( 「甘特項ul.gantt天」) .append不起作用。 時間軸(item.data.sDate,item.data.eDate)在每行中重複n次, 假設每個原始行只顯示一個項目n行。
謝謝您的解決方案。但是,我的ng-repeat在每行中重複n次,每行只能顯示1個項目,並重復n行。 – elephant 2013-03-02 17:45:06
更具體的我的重複問題。 [鏈接] http://stackoverflow.com/questions/15177632/multiple-ng-repeat-of-same-item – elephant 2013-03-02 18:00:41
@elephant我有與ng-repeat相同的問題。我有一個包含5個項目的數組,每個項目重複5次,共25行。如果我嘗試3件商品,則每件商品重複3次。我無法在JS小提琴或我的項目之外的任何地方重現這一點。你能告訴我這個問題的解決方案是什麼? – 2013-04-06 14:21:43