Czy istnieje jakiś rzekomy problem z następującym fragmencie:angularjs obserwując wynik wywołania funkcji
<ul id="entry-name" class="breadcrumb">
<li ng-repeat="dir in pathElements()" class="active">
<span ng-show="!$last">
<a href="#!?path={{dir.url}}">{{ dir.name }}</a> <span ng-show="!$first" class="dividier">/</span>
</span>
</li>
<li class="active">{{ pathElements()[pathElements().length - 1].name }}</li>
</ul>
z tym JS:
$scope.pathElements = function() {
var retval = [];
var arr = $scope.currentPath().split('/');
if (arr[0] == '') {
arr[0] = '/';
}
var url = "/";
retval.push({name: arr[0], url: url});
for (var i = 1; i < arr.length; ++i) {
if (arr[i] != '') {
url += arr[i] + '/';
retval.push({name: arr[i], url: url});
}
}
return retval;
};
Wydaje się to być przyczyną „Błąd: Osiągnięto 10 $ digest() iteracji. błąd, ale nie jestem pewien dlaczego. Czy to dlatego, że pathElements() zwraca za każdym razem nową tablicę? Czy istnieje sposób na obejście tego?
Czy uważasz, że nie ma sensu buforowanie tablicy ścieżek? Wywołujesz tę funkcję 3 razy. Poza tym, czy myślałeś o użyciu $ routeParams? –
@Flek "Ścieżka", którą dzielę nie jest faktyczną ścieżką URL, jest to parametr przekazywany do adresu URL (np. 'Localhost: 8000/#? Ścieżka =/część/ścieżka') Ale tak, ty ' re prawo, prawdopodobnie powinno być buforowanie go. – Alec