我正在使用Inertia.js和Vue 3创建一个laravel应用。我想添加一个我在另一个项目中创建的自定义vue指令(没有使用Inertia)。为此,我在我的app.js中添加了以下内容:
app.directive('uppercase',{
updated(el){
el.value = el.value.toUpperCase()
}
});
然而,由于应用程序是这样初始化的,我不能添加相同的。
const app = createInertiaApp({
title: (title) => `${title} - ${appName}`,
resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')),
setup({ el, App, props, plugin }) {
return createApp({ render: () => h(App, props) })
.use(plugin)
.use(ZiggyVue, Ziggy)
.mount(el);
},
directive:{
uppercase:{
updated(el){
el.value = el.value.toUpperCase()
}
}
},
progress: {
color: '#4B5563',
},
});
有可能吗?谢谢。
2条答案
按热度按时间lsmd5eda1#
您可以按照以下步骤创建自定义指令
directives.js
的新文件。app.js
中包含directives.js
des4xlb02#
Vue示例需要register指令,而不是Inertia。
createApp
将创建Vue示例-使用directive
方法链接它以使其全局可用