如何在访问路由时执行jQuery代码?
how to execute jQuery code when route is visited?
我有一个关闭的 canvas 菜单,一旦使用 jQuery 单击 Vue 路由,它就会被绘制出来,如下所示:
$('.order-drawer').show();
$('body').toggleClass( 'order-drawer-open' );
我的路线很简单,显示如下:
<router-link to="/order" exact class="order-drawer-toggler">
<a>Order Now</a>
</router-link>
<router-view></router-view>
现在,我如何确保在浏览器中查看 http://test.dev/test/#/order 时,我的 jQuery 调用会得到执行?如何调用路由视图的函数 onload?
编辑:
我的路由文件如下所示:
import VueRouter from 'vue-router';
let routes = [
{
path: '/order',
component: require('./views/Order.vue')
}
];
export default new VueRouter({
routes
});
您应该允许路由来驱动您的组件,并在该组件中驱动 jQuery 行为。
import VueRouter from 'vue-router';
let routes = [
{
path: '/order',
component: require('./views/Order.vue')
}
];
export default new VueRouter({
routes
});
Order.vue
export default {
mounted() {
$('.order-drawer').show();
$('body').toggleClass( 'order-drawer-open' );
}
}
组件创建并挂载后,会显示抽屉。您无需再做任何事情。当 vue-router
路由到路由时,它将创建并安装组件,并且将调用您的 jQuery 函数。
我有一个关闭的 canvas 菜单,一旦使用 jQuery 单击 Vue 路由,它就会被绘制出来,如下所示:
$('.order-drawer').show();
$('body').toggleClass( 'order-drawer-open' );
我的路线很简单,显示如下:
<router-link to="/order" exact class="order-drawer-toggler">
<a>Order Now</a>
</router-link>
<router-view></router-view>
现在,我如何确保在浏览器中查看 http://test.dev/test/#/order 时,我的 jQuery 调用会得到执行?如何调用路由视图的函数 onload?
编辑: 我的路由文件如下所示:
import VueRouter from 'vue-router';
let routes = [
{
path: '/order',
component: require('./views/Order.vue')
}
];
export default new VueRouter({
routes
});
您应该允许路由来驱动您的组件,并在该组件中驱动 jQuery 行为。
import VueRouter from 'vue-router';
let routes = [
{
path: '/order',
component: require('./views/Order.vue')
}
];
export default new VueRouter({
routes
});
Order.vue
export default {
mounted() {
$('.order-drawer').show();
$('body').toggleClass( 'order-drawer-open' );
}
}
组件创建并挂载后,会显示抽屉。您无需再做任何事情。当 vue-router
路由到路由时,它将创建并安装组件,并且将调用您的 jQuery 函数。