2014-03-29 3 views
2

Я пытаюсь принудительно обновить мою таблицу bindonce после редактирования нескольких записей, но я не знаю, как использовать атрибут bindonce refreshOn.AngularJs - Bindonce force refresh using refreshOn attribute

HTML код:

<tbody bindonce="filteredItems" refresh-on="refreshTaskList" ng-repeat="task in filteredItems | orderBy:sortingOrder:reverse"> 
<tr> 
<td><span bo-bind="task.serviceTypeName | isEmpty : 'None'"></span></td> 
    <td ><span bo-bind="task.percentageCompleted | isEmpty : 'Not Started'"></span></td> 
</tr> 
</tbody> 

Я называю эту строку в мой контроллер:

$scope.refreshTaskList(); 

Кроме того, я попытался назвать это так, но ничего не работает:

$scope.$broadcast('refreshTaskList'); 

Может вы, пожалуйста, помогите мне, как правильно использовать это?

ответ

3

Изменить это: refresh-on="'refreshTaskList'"

Пример:

<button ng-click="refresh()">Refresh table</button> 

$scope.refresh = function() { 
    $scope.$broadcast('refreshTaskList'); 
}; 

Если он все еще не работает, вы можете иметь версию, которая не содержит атрибут refresh-on.

Демо:http://plnkr.co/edit/nYPDMRG4b1OtkMolEEDQ?p=preview

+0

Отлично! Я никогда не знаю, что мы должны окружать refreshTaskList одинарными кавычками. – user972255

+0

Для тех, кто ищет основную ветвь bindonce, не имеет атрибута refresh-on. Вы должны использовать ветку отладки-отладки https://github.com/Pasvaz/bindonce/tree/rebind-debug, которая кажется, есть некоторые проблемы, все еще https://github.com/Pasvaz/bindonce/issues/42 – toxaq