我正在尝试从require
d javascript 文件访问我的 Vue 元素,但到目前为止我失败了......我想el-form-item
从外部获取 element-ui 组件的规则验证器。也许我的逻辑是错误的,但这种方式也应该有效(我猜)
Vue@2.5.13
element-ui@2.0.11
npm@5.6.0
Vue.use(...)
我尝试了Vue.use(...)
我的 javascript 文件。
const MyPlugin = {
install(Vue, options) {
Vue.prototype.usernameValidator = function (rule, value, callback) {
console.log(Vue);
console.log(this);
// ...
我的控制台输出:
控制台.log(Vue);
ƒ Vue$3(options) {
if ("development" !== 'production' &&
!(this instanceof Vue$3)
) {
warn('Vue 是一个构造函数,应该使用new
关键字调用');
}
this._init(options);
}
控制台.log(this);
{"required":true,"field":"username","fullField":"username","type":"string"...}
之前创建
module.exports = function (rule, value, callback) {
console.log(this)
// ...
});
控制台.log(this);
{"required":true,"field":"username","fullField":"username","type":"string"...}
正如我所说,我的逻辑可能是错误的,但我只是好奇我可以做出这样的方法吗?
问候
更新
我正在调用它register.blade.php
<el-form-item label="Username" prop="username" :rules="[{required:true, validator: usernameValidator, trigger:'blur,change'}]">
<el-input v-model="form.username" name="username"></el-input>
</el-form-item>
在app.js
;
Vue.use(require('./plugins/usernameValidator'));
// ...
window.app = new Vue({
// ...
});