AngularJS: как запустить ng-клик по загрузке - PullRequest
0 голосов
/ 07 марта 2020

У нас есть виджет в ServiceNow, где у нас есть кнопки, которые показывают предварительно настроенные фильтры. Кнопки отлично работают на клике, но мы бы хотели, чтобы была нажата первая кнопка и первый фильтр, который будет применен к нагрузке. Есть ли способ инициировать это при загрузке? Мы попытались использовать ng-init, но не смогли заставить его работать.

<p><strong>Filters:</strong></p>
<button ng-if="options.show_preconfigured_filters=='true'"
        class="btn btn-outline-primary pull-left m-r-sm m-b-sm"
        ng-repeat="filters in data.preconfigured_filters | orderBy : 'order' track by $index"
        ng-click="c.applyFilter(filters);">
   <i class="glyphicon glyphicon-filter m-r-sm"></i>{
   {filters.title}}
</button>
<div class="clearfix"></div>
c.applyFilter = function(filter) {
    $scope.data.filter = filter.filter;
    c.appendQuery($scope.data.filter);
}

1 Ответ

1 голос
/ 07 марта 2020

Один из подходов состоит в том, чтобы вычислить упорядоченный список в контроллере:

var orderedList = $filter('orderBy')($scope.data.preconfigured_filters, 'order');

c.applyFilter(orderedList[0]);

Это выполняет ту же функцию, которую пользователь вызывает, щелкая первый элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...