.when({....}).otherwise({....}在配置路由的時候,otherwrie中通常會配置默認的地址,即便不配置otherwise,Angular也會清除ng-view中的內容。
當使用anchor的時候每次觸發錨點,就會修改hash,接着angular就會觸發‘路由’處理,這樣就致使二者衝突,頁面內容發生改變。 瀏覽器
解決方式是,寫一個指令,攔截錨點的瀏覽器默認行爲,手動設置要滾動的距離。 spa
link:function(scope,element,attrs){ element.bind('click',function(e){ e.stopPropagation(); var scrollToElement= $('#'+attrs.scrollToElementId); window.scrollTo(0,endElement.offset().top); }); }