2016-04-03 18 views
0

AngularJs ile bir menü yapıyorum ve bu öğeyi tıklayarak, sayfanın tıklanan maddenin bölümüne kaydırılmasını istiyorum. Kodum şudur:AngularJs scrollTo issue

script.js açıkça

yazarsanız böyle kod işe değil,

<ul class="nav nav-pills" id="mainMenu" ng-controller="menuCtrl"> 
    <li class="active"><a href="#/">Home</a></li> 
    <li ng-repeat="item in menuItems"><a ng-click="scrollTo('{{item.id}}')" href="">{{item.page}}</a> 
</ul> 

var app = angular.module('allApps',['ui.bootstrap']); 
app.controller("menuCtrl",function($scope, $location, $anchorScroll){ 
    $scope.menuItems=[ 
         {page:"Biography", id:"bio"}, 
         {page:"Curriculum Vitae", id:"cv"}, 
         {page:"Gallery", id:"gallery"}, 
         {page:"Video", id:"video"}, 
         {page:"Press", id:"press"}, 
         {page:"News", id:"news"}, 
         {page:"Contact", id:"contact"} 
         ]; 

    $scope.scrollTo = function(id) { 
     $location.hash(id); 
     console.log($location.hash()); 
     $anchorScroll(); 
    }; 
}); 

menu.html

ng-click="scrollTo('bio')" 

yapar (belli ki biyografi sayfasına tüm linkleri kaydırır). AngularJs yönlerini okumada bir sorun olduğunu düşündüm ama eğer ateş böceği ile kontrol edersem doğru kimliği alır görüyorum.

Neyin yanlış olduğunu söyleyebilir misiniz?

cevap

1

ng-click yönergesinde yanlış ifade vardı, temelde {{}} enterpolasyon yönergesini içermemelidir. Eğer ng-click sağladığınız ifade doğrudan

ng-click="scrollTo(item.id)" 
+1

Çok teşekkür ederim kumandanın içerikle değerlendirecektir –

+0

@FabioManniti olduğunu bilmek çok güzel .. teşekkürler :-) –