Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nuxt JavaScript钩子转换-一个bug?_Javascript_Vue.js_Vuejs2_Transition - Fatal编程技术网

Nuxt JavaScript钩子转换-一个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> 如果删除方法对象中的所有方

我认为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>
如果删除
方法对象中的所有方法,则会出现以下错误:

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
    },
  }