2017-04-24 27 views
1

我想要使用jQuery Nestable庫,並且必須將數據標識和數據權重設置爲我的列表元素。這是必需的列表模式:Angular 4不允許我使用數據屬性

<div class="dd" id="nestable"> 
     <ol class="dd-list"> 
      <li class="dd-item" data-id="10" data-weight="1"> 
       <div class="dd-handle">Item 1</div> 
      </li> 
      <li class="dd-item" data-id="29" data-weight="2"> 
       <div class="dd-handle">Item 2</div> 
      </li> 
      <li class="dd-item" data-id="58" data-weight="3"> 
       <div class="dd-handle">Item 11</div> 
      </li> 
     </ol> 
    </div> 

然而,每次我試圖將屬性分配給一個元素,我得到下面的錯誤:

Can't bind to 'weight' since it isn't a known property of 'li'. 

這是我nestable.directive.ts:

@Directive({ selector: '[uiNestable]' }) 
export class NestableDirective { 
    constructor(el: ElementRef) { 
     $(el.nativeElement).nestable({ 
      group: 1 
     }); 
    } 
} 

任何幫助表示讚賞。

+0

你爲什麼要安裝「數據 - 」你的屬性:這可以像這樣做呢?我知道visual studio在不識別html語法時會拋出警告,但您可以忽略這些警告。還有其他原因嗎? – Mickers

+0

要使jQuery Nestable庫正常工作,必須將data- *屬性分配給HTML元素。 – yenerunver

回答

6

嘗試使用attr綁定語法綁定到data-weight屬性。

<li class="dd-item" data-id="10" [attr.data-weight]="1"> 
    <div class="dd-handle">Item 1</div> 
</li> 

Demo