Не уверен, что я ясно выразился в своем вопросе, но я действительно хочу обновить min-width
с ng-style
для каждого <li>
в ng-repeat
, чтобы он равнялся проценту 100 / array.length
.
Мое первое решение просто:
<li ng-style="{'min-width': (100 / array.length) + '%'}">
Это работает, но мне не нравится математическое выражение в представлении, я бы предпочел, чтобы оно было в контроллере. Что-то в строках:
$scope.percentage = (100 / $scope.array.length) + '%'
<li ng-style="{'min-width': percentage}"
Проблема с этим подходом заключается в том, что при изменении содержимого массива percentage
не изменяется. Я мог бы добавить $watchCollection
к array
и обновить там percentage
, но это кажется неправильным, как будто мне не хватает лучшего подхода. Я?
Если нет, то какое решение вы предпочитаете? Математическое выражение в представлении или $watchCollection
?