मेरे पास एक नियंत्रक है जो एक पृष्ठ नेविगेशन मेनू दिखाता है। मेनू में आइटमों की एक श्रृंखला है, और प्रत्येक आइटम में एक कैप्शन और एक लिंक है। मेरे टेम्पलेट मेंस्थान परिवर्तन का पता लगाने के लिए कैसे करें
module.controller('MenuContr', [
/******/ '$scope', '$location',
function ($scope, $location) {
$scope.items = [
{text: 'page 0',
href: '#/page-0',
current: $location.path() === '/page-0'},
{text: 'page 1',
href: '#/page-1',
current: $location.path() === '/page-1'}
];
: मैं भी प्रत्येक आइटम पर एक झंडा इंगित करता है कि चाहे संबंधित पेज वर्तमान में दिखाया गया है सेट
<ul class="menu" ng-controller="MenuContr" ng-cloak>
<li ng-repeat="item in items" ng-switch on="item.current">
<span class="current" ng-switch-when="true">{{item.text}}</span>
<a ng-switch-default ng-href="{{item.href}}">{{item.text}}</a>
</li>
</ul>
मैं मेनू जब स्थान परिवर्तन अद्यतन करने के लिए सक्षम होना चाहिए, यह कैसे किया जाता है? क्या कोई ऐसी घटना है जिसके लिए मैं सदस्यता ले सकता हूं?
संपादित करें: इस नियंत्रक को मेरे मार्गों में परिभाषित नियंत्रकों के अतिरिक्त उपयोग किया जाता है, और उपर्युक्त टेम्पलेट ng-view
निर्देश युक्त तत्व से ऊपर रखा गया है।
$scope.$on('$routeChangeSuccess', function() {
var items = $scope.items;
var path = $location.path();
for (var i = 0; i < items.length; i++) {
var item = items[i];
var href = item['href'];
item['current'] = !!href && href.substring(1) === path;
}
});
इसके लिए $ स्कोप और $ रूटस्कोप का उपयोग करने के बीच क्या अंतर है? इस मामले में यह एक निर्देश था जो एप्लिकेशन भर में निकाल दिया गया था, क्या आप $ रूटस्कोप का उपयोग करेंगे? – Winnemucca