Please do this, $(window) will be replace by $window in angularjs and the way $("nav") is identified in jquery, simillar way of doing this in angular is via angular.element()
Please see the updated code:
<nav ng-app="app" ng-controller="appContr" id="nav">abc</nav>
controller
angular.module('app', []).controller('appContr', appContr)
function appContr($window){
angular.element($window).on("scroll", function(e) {
var scroll = angular.element($window).scrollTop();
if (scroll >= 50) {
angular.element(document.getElementById("nav")).addClass('ShowBtn');
} else {
angular.element(document.getElementById("nav")).removeClass('ShowBtn');
}
});
}
here is the codepen link: https://codepen.io/iamlalit/pen/jwGKbN