2017-08-29 9 views
0

コントローラ内部から要素にスクロールする必要があります。コントローラ内部からの要素への角度スクロール

du-smooth-scrollhref="#invoice-wrapper"を使用すると、角HTMLページ内のボタンやその他の要素で問題なく動作します。

<button du-smooth-scroll href="#invoice-wrapper"> 

<!--Invoice Form--> 
<div id="invoice-wrapper"></div> 

コントローラ内部から同じものをアクティブにする方法はありますか?

vm.scrollTo = (element) => { 
    du-smooth-scroll(element) 
} 

方法はありますか?

答えて

1

$scope.$broadcastを使用して、指示文からイベントをキャッチすることはできますが、これはdu-smooth-scrollが表示されている場合にのみ機能します。

// in your controller 
vm.scrollTo = (element) => { 
    $scope.$broadcast("du-smooth-scroll", element); 
}; 

// in your directive 
$scope.$on("du-smooth-scroll", function (element) { 
    // call your function that does that scroll 
}); 

私は、あなたは私があなたのディレクティブとコントローラの両方にまたはどこか

$rootScope.scrollTo = function (element) { 
    // do the scroll thing 
}; 

使用できるグローバルscrollTo機能を作成し、その後、単にあなたのコントローラとあなたのディレクティブで$rootScope.scrollTo(element)を呼び出す示唆別の方法をしたいです。

1

あなたは、組み込みの$anchorScrollそうのように使用できます。

$anchorScroll('invoice-wrapper'); 
関連する問題