2015-10-07 1 views
1

У меня проблема с использованием плавного плагина с угловым, проблема заключается в том, что базовая добавляет новые строки таблицы в мою таблицу, но вставляет исходный текст html вместо угловых замененных значений, я имею в виду {{ «COMMENT» | перевести}} вместо «Комментарий» (см «прилагаемую таблицу изображение»)Новые привязки на уже скомпилированной странице

appended table image

я добавил событие щелчка, чтобы выполнить специальные действия, чтобы переоценивать, но я не уверен, как пересвяжите элемент HTML.

Таблица HTML

<th data-hide="phone,tablet" >{{'QUANTITY'| translate}}</th> 
... 
<tr ng-repeat="item in items | filter:itemsFilter" on-last-repeat ng-click="rowExpanded($event)" > 
    <td>{{item.Stock}}</td> 
    ... 
</tr> 

Пожалуйста, дайте мне теперь, если вам нужно больше информации. Я совсем застрял, пытался поиграть в Google, но я не знаю, что это за проблема.

РЕДАКТИРОВАТЬ: Мне кажется, что в заголовках таблиц нет оснований для init, а затем повторно использует те значения, которые еще не скомпилированы угловыми, возможно, это поможет найти ответ.

Проблема заключается в том, что угловой не знает, что детали строки существуют, и привязки внутри него не заменяются значениями периодов

expanded first row with console view

+0

Конечно, нам нужна дополнительная информация: http://stackoverflow.com/help/mcve – Magus

+0

Получите ли вы точный текст и данные для рабочего стола? –

+0

Табличные заголовки используют ту же привязку, afaik footable принимает заголовочный текст и помещает его в новую строку.Когда я уменьшаю размер окна, столбцы исчезают, и в строке сведений появляется текст привязки заголовка ({{'QUANTITY' | translate}}). – Ernis

ответ

0

Я понял O у, что мне нужно перекомпилировать следующий элемент, который прилагается к footable, я добавил нг кнопки мыши на строках таблицы:

<tr ng-repeat="item in items | filter:itemsFilter" on-last-repeat ng-click="rowExpanded($event)" > 

Затем в контроллере, я обнаружил, что currentTarget.nextElementSibling вернется, следующая строка таблицы, который, случается, состоит в том, что нескомпилированная новая строка сведений, поэтому компиляция $ делает трюк. Однако это не работает, когда строка уже расширена, а размер окна изменен, добавленные столбцы в строке сведений будут в синтаксисе {{variablename}}. Но я предполагаю, что я могу жить с этой нижней стороной

$scope.rowExpanded = function($event){ 
    $timeout(function(){ 
     console.log($event.currentTarget.nextElementSibling); 
     $compile($event.currentTarget.nextElementSibling)($scope); 
    }); 

}; 

EDIT: Хорошо это не работает, когда я использовал <Progressbar> шаблона. Потому что в то время, когда footable считывает данные, это просто куча дивы, и когда я спрашиваю Угловой компилировать те, что не может собрать, потому что куча дивы не > прогрессбара <

Но все же, я нашел другое решение , Я отложил начальную инициализацию после того, как все сделано на угловой стороне:

TL; DR; Я удалил класс «footable» из таблицы, поэтому он не будет автоматически инициализироваться и вызывает .footable() в элементе таблицы только после того, как все строки ng-repeat будут добавлены (и скомпилированы) в таблицу. Это решает все мои текущие проблемы с опорными/угловыми отношениями.

-1

Попробуйте ваше заявление перевода, так что вместо

{{'COMMENT'|translate}} 

попробовать

{{ 'COMMENT' | translate }} 
+0

Перевод работает, поскольку текст заголовка использует ту же привязку. Он не работает в динамически добавленной строке. – Ernis

Смежные вопросы