Vue.component('main-menu-item', { props: ['menuitem'], template: '' + ' '+ '' }); Vue.component('main-menu-search', { props: ['searchSettings'], template: ''+ '
' + '
' + ' ' + '
' + ' ' + '
' + '
' + '
' }); Vue.component('main-menu-apps-item', { props: ['appItem'], computed: { IconClasses: function () { var result = "fa fa-" + this.appItem.IconName + " fa-4x"; return result; } }, template: '' + '
' + ' ' + ' ' + ' {{appItem.Name}}' + ' ' + '
' }); Vue.component('main-menu-apps', { props: ['apps'], template: '' + '' }); Vue.component('main-menu-user-menu-item', { props: ['item'], template: '' + '{{item.Name}}' + '' }); Vue.component('main-menu-user-menu', { props: ['usermenu','user'], template: '' + '
' + ' ' + '
' }); Vue.component('yoyo-header', { methods: { handleScroll(event) { var currentScrollPos = window.pageYOffset; if (this.prevScrollpos > currentScrollPos) { this.styletop= "0"; } else { this.styletop= "-85px"; } this.prevScrollpos = currentScrollPos; } }, created() { window.addEventListener('scroll', this.handleScroll); }, destroyed() { window.removeEventListener('scroll', this.handleScroll); }, data: function () { return { prevScrollpos: 0, styletop: "-85px;" } }, props: { headerData: {type:Object, required:true} }, template: '' + '' });