ScrollView Overview
The ScrollView displays a horizontal collection of content or image views with built-in navigation between them.
It can be scrolled through dragging, applying gestures, arrow clicking, page clicking, or tapping.
The ScrollView wrapper for Vue is a client-side wrapper for the Kendo UI ScrollView widget.
Basic Usage
The following example demonstrates how to initialize the ScrollView.
<div id="vueapp" class="vue-app">
<kendo-datasource ref="datasource1"
:type="'odata'"
:page-size="pageSize"
:server-paging="true"
:transport-read="'https://demos.telerik.com/kendo-ui/service/Northwind.svc/Products'">
</kendo-datasource>
<div>
<kendo-scrollview :data-source-ref="'datasource1'"
:enable-pager="true"
:template="itemTemplate"
v-bind:style="{ height: '300px', width: '600px',background: '#eee'}"
>
</kendo-scrollview>
</div>
</div>
Vue.use(ScrollViewInstaller);
Vue.use(DataSourceInstaller);
new Vue({
el: '#vueapp',
data () {
return {
page: 1,
pageSize: 18,
itemTemplate:
'# for (var i = 0; i < data.length; i++) { #' +
'<div class="product" style="width: 100px; float: left; height: 100px; color: white; background-image:url(https://demos.telerik.com/kendo-ui/content/web/foods/#=data[i].ProductID#.jpg)" title="#=data[i].ProductName#">' +
'</div>' +
'# } #'
}
}
})
Installation
To initialize the ScrollView, either:
Initializing with Webpack
-
Install Kendo UI and add a theme.
npm install --save @progress/kendo-ui npm install --save @progress/kendo-theme-default
-
Install the Kendo UI ScrollView package for Vue.
npm install --save @progress/kendo-scrollview-vue-wrapper
-
Import the Kendo UI packages to the App component. If you use the Kendo UI components more than once in your application, add all Kendo UI-related files to the
main.js
file. If you use the Kendo UI components once in your application, add the Kendo UI-related files the component where they will be referred.import '@progress/kendo-ui' // This will import the entire Kendo UI library // As an alternative, you could import only the scripts that are used by a specific widget: // import '@progress/kendo-ui/js/kendo.scrollview' // Imports only the ScrollView script and its dependencies import '@progress/kendo-theme-default/dist/all.css' import { ScrollView, ScrollViewInstaller } from '@progress/kendo-scrollview-vue-wrapper' Vue.use(ScrollViewInstaller) new Vue({ el: '#app', components: { ScrollView } })
Events
The following example demonstrates basic ScrollView events. You can subscribe to all events of the ScrollView by the handler name.
<div id="vueapp" class="vue-app">
<kendo-datasource ref="datasource1"
:type="'odata'"
:pageSize="pageSize"
:serverPaging="true"
:transportRead="'https://demos.telerik.com/kendo-ui/service/Northwind.svc/Products'">
</kendo-datasource>
<div>
<kendo-scrollview :dataSourceRef="'datasource1'"
:enablePager="true"
v-on:change="onChange"
:template="itemTemplate"
v-bind:style="{ height: '600px' }"
>
</kendo-scrollview>
</div>
</div>
Vue.use(ScrollViewInstaller);
new Vue({
el: '#vueapp',
data () {
return {
page: 1,
pageSize: 3,
itemTemplate:
'# for (var i = 0; i < data.length; i++) { #' +
'<div>' +
'<div>#= data[i].ProductName #</div>' +
'</div>' +
'# } #'
}
}
methods: {
onChange () {
console.log("ScrollView item was changed.");
}
}
})