2014-11-23 21 views
0

如何正確地將ng-repeat項目作爲參數傳遞給函數?我正在顯示相關的html和js也是它給出的錯誤。使用ng-repeat中的項目作爲函數中的參數

HTML:

<div class="swiper-slide" data-ng-repeat="items in (ctrl.cur_level || ctrl.first_level)"> 
       <div class = "item" data-ng-repeat="item in items" data-ng-click="!ctrl.isWorkDay(item.lane.title)||ctrl.select(item)" data-ng-disabled="isWorkDay(item.lane.title)" > 
        <div class="{{ctrl.workingDayClass(item.lane.title)}}" > 
        <button>{{ item.num }}</button> 
        <span data-ng-if="item.lane" class="title">{{ item.lane.title }}</span> 
        </div> 
       </div> 
       </div> 

JS:

isWorkDay: (title) -> 
     enabled = true 
     d = new Date(); 
     n = $this.weekday[d.getDay()]; 
     if(n=="Sunday" or n=="Saturday") 
     if(isInArray(title, $this.freeServices)) 
      enabled = false 
     else 
     if(title == "Дежурный врач") 
      enabled = false 
     console.log("item_inner "+$this.item_inner) 
     return enabled 
isInArray: (value, array) -> 
    array.indexOf(value) > -1; 

workingDayClass: (title)-> 
    console.log("title "+title) 
    item_inner = "item_inner" 
    d = new Date(); 
    n = $this.weekday[d.getDay()]; 
    if(n=="Sunday" or n=="Saturday") 
    if(isInArray(title, $this.freeServices)) 
     item_inner = "item_inner_disabled" 
    else 
    if(title == "Дежурный врач") 
     item_inner = "item_inner_disabled" 
    return item_inner 

錯誤:

[$interpolate:interr] Can't interpolate: {{ctrl.workingDayClass(item.lane.title)}} ReferenceError: isInArray is not defined

回答

1

使用$ this.isInArray而不是isInArray

if(isInArray(title, $this.freeServices)) 

應該

if($this.isInArray(title, $this.freeServices)) 

乾杯!

相關問題