diff --git a/examples/layout-transitions/assets/main.css b/examples/layout-transitions/assets/main.css
index dbb73ba005..63b42c3f6f 100644
--- a/examples/layout-transitions/assets/main.css
+++ b/examples/layout-transitions/assets/main.css
@@ -17,14 +17,14 @@ body {
}
.layout-enter-active, .layout-leave-active {
- transition: opacity .5s
+ transition: opacity 0.5s
}
.layout-enter, .layout-leave-active {
opacity: 0
}
.bounce-enter-active {
- animation: bounce-in .8s;
+ animation: bounce-in .5s;
}
.bounce-leave-active {
animation: bounce-out .5s;
diff --git a/examples/layout-transitions/layouts/secondary.vue b/examples/layout-transitions/layouts/secondary.vue
index d4a9065bd3..57a89e59ee 100644
--- a/examples/layout-transitions/layouts/secondary.vue
+++ b/examples/layout-transitions/layouts/secondary.vue
@@ -1,11 +1,6 @@
diff --git a/examples/layout-transitions/package.json b/examples/layout-transitions/package.json
index 38fd64e26c..822831ec96 100644
--- a/examples/layout-transitions/package.json
+++ b/examples/layout-transitions/package.json
@@ -5,7 +5,7 @@
"nuxt": "latest"
},
"scripts": {
- "dev": "../../bin/nuxt",
+ "dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start"
}
diff --git a/examples/layout-transitions/pages/index.vue b/examples/layout-transitions/pages/index.vue
index fe5ce74005..9b8b4fefa5 100644
--- a/examples/layout-transitions/pages/index.vue
+++ b/examples/layout-transitions/pages/index.vue
@@ -3,5 +3,6 @@
Home page
About page
Lists of users
+ Lists of users #2 (with `watch`)
diff --git a/examples/layout-transitions/pages/users-2.vue b/examples/layout-transitions/pages/users-2.vue
new file mode 100644
index 0000000000..e1a038e0f1
--- /dev/null
+++ b/examples/layout-transitions/pages/users-2.vue
@@ -0,0 +1,91 @@
+
+
+
< Prev
+
< Prev
+
{{ page }}/{{ totalPages }}
+
Next >
+
Next >
+
+
+ -
+
+ {{ user.first_name }} {{ user.last_name }}
+
+
+
+
Back home
+
+
+
+
+
+
diff --git a/examples/layout-transitions/pages/users.vue b/examples/layout-transitions/pages/users.vue
index d608a5ad7f..f7399382cf 100644
--- a/examples/layout-transitions/pages/users.vue
+++ b/examples/layout-transitions/pages/users.vue
@@ -6,7 +6,7 @@
Next >
Next >
- -
+
-
{{ user.first_name }} {{ user.last_name }}
@@ -19,15 +19,20 @@
import axios from 'axios'
export default {
+ // Watch for $route.query.page to call Component methods (asyncData, fetch, validate, layout, etc.)
+ watchQuery: ['page'],
+ // Key for (transitions)
+ key: (to) => to.fullPath,
+ // Called to know which transition to apply
transition(to, from) {
if (!from) return 'slide-left'
return +to.query.page < +from.query.page ? 'slide-right' : 'slide-left'
},
async asyncData({ query }) {
- const page = query.page || 1
+ const page = +(query.page || 1)
const { data } = await axios.get(`https://reqres.in/api/users?page=${page}`)
return {
- page: +data.page,
+ page,
totalPages: data.total_pages,
users: data.data
}