Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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
名为Vue.js的javascript钩子_Javascript_Vue.js_Vuejs2_Vue Component - Fatal编程技术网

名为Vue.js的javascript钩子

名为Vue.js的javascript钩子,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我正在尝试将Vue.js与velocity.js连接起来。本指南给出了一个示例,但未使用命名转换。当前我的转换如下所示: <transition name="collapse"> collapseEnter, collapseEnterCancelled, etc. 但这似乎不起作用。我真的必须设置所有的指令吗?还是有更简单的方法?AFAIK只有在将CSS类应用于转换时才使用该名称。它与javascript挂钩无关。因此,是的,您需要明确定义所有挂钩 你需要。但是,通过创建一个抽

我正在尝试将Vue.js与velocity.js连接起来。本指南给出了一个示例,但未使用命名转换。当前我的转换如下所示:

<transition name="collapse">
collapseEnter, collapseEnterCancelled, etc.

但这似乎不起作用。我真的必须设置所有的指令吗?还是有更简单的方法?

AFAIK只有在将CSS类应用于转换时才使用该名称。它与javascript挂钩无关。因此,是的,您需要明确定义所有挂钩

你需要。但是,通过创建一个抽象组件来包装
,可以自动绑定这些钩子函数

这是一个骇客,但应该工作

首先,我们注册一个名为自动转换的组件:

Vue.component('autoTransition', {
  props: ['name', 'vm'],
  functional: true,
  abstract: true,
  render (h, ctx) {
    return h('transition', {
      name: ctx.props.name,
      on: {
        'before-enter': ctx.props.vm.beforeEnter,
        'enter': ctx.props.vm.enter,
        // ... other hooks
      }
    }, ctx.children)
  }
})
您可以像正常的转换一样使用它,但现在不需要传递所有的钩子,只需传递整个
vm
(可以由
$root
引用)和
名称,以防需要:

<auto-transition name="myTransition" :vm="$root">
  <h1 v-show="someBool">hello</h1>
</auto-transition>

你好
<auto-transition name="myTransition" :vm="$root">
  <h1 v-show="someBool">hello</h1>
</auto-transition>