का परिणाम देख Angular.js वहाँ निम्नलिखित स्निपेट के साथ किसी भी प्रकट मुद्दा है:एक समारोह कॉल
<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>
इस के साथ
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;
};
यह एक "त्रुटि के कारण किया जा रहा है: 10 $ पाचन() पुनरावृत्तियों तक पहुंचे। निरस्त! " त्रुटि, लेकिन मुझे यकीन नहीं है क्यों। क्या ऐसा इसलिए है क्योंकि pathElements() हर बार एक नई सरणी लौट रहा है? क्या इस से निकाल पाने के लिए कोई तरीका है?
क्या आपको नहीं लगता कि पथ पथ को कैश करने के लिए यह समझ में आता है? आप फ़ंक्शन को 3 बार कॉल कर रहे हैं। इसके अलावा आपने $ रूट पैराम का उपयोग करने के बारे में सोचा है? –
@ फ्लेक "पथ" जिसे मैं विभाजित कर रहा हूं वह वास्तविक यूआरएल पथ नहीं है, यह यूआरएल (जैसे 'लोकलहोस्ट: 8000/#? पथ =/कुछ/पथ') पर पारित पैरामीटर है लेकिन हाँ, आप' ठीक है, शायद इसे कैशिंग करनी चाहिए। – Alec