Nuxt JavaScript钩子转换-一个bug?
我认为NUXT2.4.x在转换过程中有一个bug 模板中的示例:Nuxt JavaScript钩子转换-一个bug?,javascript,vue.js,vuejs2,transition,Javascript,Vue.js,Vuejs2,Transition,我认为NUXT2.4.x在转换过程中有一个bug 模板中的示例: <transition appear //---> this never work v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter="afterEnter" v-on:leave="leave"> .... </transition> 如果删除方法对象中的所有方
<transition
appear //---> this never work
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-on:after-enter="afterEnter"
v-on:leave="leave">
....
</transition>
如果删除方法对象中的所有方法,则会出现以下错误:
commons.app.js:9837[Vue warn]:属性或方法“beforeEnter”为
未在实例上定义,但在渲染期间引用。确保
此属性在数据选项中或对于
通过初始化属性,基于类的组件。见:
发现于
--->在第页/about.vue
在layouts/default.vue处
commons.app.js:9837[Vue warn]:属性或方法“enter”未在实例上定义,但在渲染期间被引用。
确保此属性在数据选项中是被动的,
或者,对于基于类的组件,通过初始化属性。见:
发现于
--->在第页/about.vue
在layouts/default.vue处
等等
有什么想法吗?根据您提供的信息,我想让您注意几件事
如果参考nuxt文档,您会注意到transition属性将控制页面组件在页面之间移动时的行为。也就是说,每次你从一条路线移动到另一条路线
您在组件内定义的方法是转换组件在发生此类转换时将调用的函数,如vue文档中所述。这就是为什么你会犯这样的错误
现在,我认为你的转变不起作用,因为你没有把它命名为叶。它会让你更好地控制你的转变。您还需要添加一些css以使转换有效
如果你看上面的图表,你会发现纯css是如何从一种状态过渡到另一种状态的
我还想请您参考Sarah Drasner的文章,其中谈到页面转换根据您提供的信息,我希望您注意以下几点
如果参考nuxt文档,您会注意到transition属性将控制页面组件在页面之间移动时的行为。也就是说,每次你从一条路线移动到另一条路线
您在组件内定义的方法是转换组件在发生此类转换时将调用的函数,如vue文档中所述。这就是为什么你会犯这样的错误
现在,我认为你的转变不起作用,因为你没有把它命名为叶。它会让你更好地控制你的转变。您还需要添加一些css以使转换有效
如果你看上面的图表,你会发现纯css是如何从一种状态过渡到另一种状态的
我还想请您参考Sarah Drasner的文章,其中谈到页面转换
transition: {
mode: 'out-in',
css: false,
beforeEnter (el) {
console.log('before in transition object') // works
},
enter (el, done) {
console.log('enter in transition object') // works
},
afterEnter (el) {
console.log('after enter in transition object') // works
},
leave (el, done) {
console.log('leave in transition object') // works
done()
}
},
methods: {
// https://nuxtjs.org/api/pages-transition
// https://vuejs.org/v2/guide/transitions.html#JavaScript-Hooks
beforeEnter (el) {
console.log('before in methods object') // never executed
},
enter (el, done) {
console.log('enter in methods object') // never executed
},
afterEnter (el) {
console.log('after enter in transition object') // never executed
},
leave (el, done) {
console.log('leave in methods object') // never executed
},
}