2016-04-11 63 views
0

我與飛鏢和Angularjs 2個工作,我想用選擇2的看法,但它不工作,我的代碼是:在HTML的Jquery在鏢選擇和angularjs 2

<div class="form-group"> 
<label for="nivelEducativo" class="col-sm-2 control-label">Nivel Educativo</label> 
<div class="col-sm-4"> 
<select class="select_profession form-control" id="nivelEducativo" 
*ngIf="paramsByTypeCode != null" [(ngModel)]="model.situacionEducativaId"> 
    <option *ngFor="#param of paramsByTypeCode['PRT014']" 
    value="{{param.id}}">{{param.nombre}}</option> 
</select> 
</div> 
</div> 
... 
<script> 
    function __selectProfession(selector) { 
    $(selector).select2({ 
    placeholder: "Select One", 
    allowClear: true 
    }); 
} 
</script> 

代碼在DART

void ngAfterViewInit(){ 
    new Timer(new Duration(seconds: 1),()=>js.context.callMethod('__selectProfession',[".select_profession"])); 
    } 

代碼選擇2不工作,但如果我刪除ngIf標記的選擇2的作品,但它並沒有顯示職業列表中,選擇2運作良好沒有angular2。我想知道,所以我該如何處理它?

謝謝大家。

回答

1

而不是

*ngIf="paramsByTypeCode != null" 

使用

[hidden]="paramsByTypeCode == null" 

則該元素存在,即使paramsByTypeCodenull否則*ngIf從DOM中刪除和jQuery無法找到它。

我不知道這是什麼代碼的意圖是

new Timer(new Duration(seconds: 1),()=>js.context.callMethod('__selectProfession',[".select_profession"])); 

,但我想它應該是

new Future.delayed(new Duration(seconds: 1),()=>js.context.callMethod('__selectProfession',[".select_profession"])); 
+0

我把標籤[隱藏],卻是一樣的, select2被調用,但職業列表沒有顯示,它是空的,帶有標籤的ngif列表不是空的,但它不起作用select2 – Ronald

+0

你能提供一個Plunker嗎?我不熟悉這些小部件,但如果您提供Plunker,我可能會看看發生了什麼。 –