2015-11-29 2 views
0

Я не получаю свой DtInstance, заполненный после рендеринга. Любой человек столкнулся с этой проблемой.Угловой DataTable не заполняется DTInstance

<div ng-controller="InventoryTableController as vm"> 
      <table datatable="" dt-options="vm.dtOptions" dt-columns="vm.dtColumns" 
       dt-instance="vm.dtInstance" 
       class="display table table-bordered table-striped table-hover"></table> 
     </div> 
+0

Что делает ваш контроллер выглядеть? –

+0

Спасибо Алджер за это, я смог исправить это vm.dtInstance = null; – Ysak

ответ

4

я был в состоянии исправить это с помощью этой https://github.com/l-lin/angular-datatables/issues/365

Проблема была из-за меня инициализируется dataHolder как этот

vm.dtInstance = {}; 

Это фиксированный, когда я изменил его в vm.dtInstance = null; даже vm.dtInstance = undefined обыкновения Работа.

+0

Отлично! Отличная работа. –

+0

Не забудьте принять свой собственный ответ, чтобы посетители могли увидеть, что это надежное решение. – davidkonrad

+0

Вы можете принять ваш собственный ответ в 19 часов :-) – Ysak

2

Для меня даже vm.dtInstance = null; не работал. Я закончил работу с источником директивы и обнаружил, что dt-instance также может быть функцией setter. Это решило проблему для меня.

vm.setDTInstance = function(dtInst){ 
    vm.myTable = dtInst; 
}; 
+0

И вы добавили dt-instance = "vm.setDTInstance" или что? вот и все? Прежде чем сделать это, dtInstance не был определен? И что такое myTable в вашем случае? Я использую Angular datatables, поэтому я не определял таблицу вообще ... – trainoasis

1

Просто добавьте мои 2 цента здесь.

Для меня эта проблема была решена путем решения @rosshays в теме: https://github.com/l-lin/angular-datatables/issues/345

Update дек 2017 4: По @trainoasis предложению, я копирую решение здесь.

В контроллере

$scope.nested = {}; 
$scope.nested.dtInstance = {} 

И в вашем HTML

<table 
    datatable="" 
    class="table table-striped table-hover table-bordered table-condensed" 
    dt-options="dtOptions" 
    dt-columns=dtColumns 
    dt-instance="nested.dtInstance"> 
</table> 
+1

Это работало и на меня, когда другого ответа не было. Я предлагаю вам добавить некоторую информацию о том, как достичь этого в ответе рядом с ссылкой, так как это не займет много ... будет более полезно, если ссылка замирает. – trainoasis

+1

обновил ответ. счастлив, что это тебе помогло. –