Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
interview:developer:vue_developer:start [2025/02/11 11:51] – perry.zeng | interview:developer:vue_developer:start [2025/03/26 16:16] (current) – [提交方法] yan.feng | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Vue Developer Interview ====== | ====== Vue Developer Interview ====== | ||
- | <note warning> | + | ==== 时限 ==== |
+ | * 2小时 | ||
+ | |||
+ | |||
+ | ==== 提交方法 ==== | ||
+ | |||
+ | * 第一题:请将答案写在 .txt 文件内。 | ||
+ | * 第二题:请将相关的 .js 和 .vue 文件放在一个文件夹内,不要包含脚手架文件(如 node_modules)和第三方插件。 | ||
+ | * 提交要求:所有题目答案统一放在一个文件夹内,并用 ZIP 格式压缩(不可用 RAR 或其他格式)。 | ||
+ | |||
===== 第一题 ===== | ===== 第一题 ===== | ||
Line 7: | Line 17: | ||
阅读代码并回答以下问题: | 阅读代码并回答以下问题: | ||
- | - button.update({ active: true, disabled: false })会输出?为什么? | + | - button.update({ active: true, disabled: false })的结果是什么?为什么? |
< | < | ||
Line 16: | Line 26: | ||
opt = opt || {} | opt = opt || {} | ||
this.status = { | this.status = { | ||
- | active: typeof opt.active === ' | + | active: typeof opt.active === ' |
disabled: typeof opt.disabled === ' | disabled: typeof opt.disabled === ' | ||
} | } | ||
Line 31: | Line 41: | ||
} | } | ||
- | getValidation(data) { | + | getValidation({ data }) { |
Object.keys(this.status).forEach((k) => { | Object.keys(this.status).forEach((k) => { | ||
const rule = this.rules.find((r) => r.key === k)?.value | const rule = this.rules.find((r) => r.key === k)?.value | ||
Line 52: | Line 62: | ||
function getValidation({ rule, data }) { | function getValidation({ rule, data }) { | ||
if (!rule) { | if (!rule) { | ||
- | return | + | return |
} | } | ||
const { key = '', | const { key = '', | ||
Line 73: | Line 83: | ||
return rowValue === value[' | return rowValue === value[' | ||
} | } | ||
- | | + | |
- | return rowValue > value[' | + | |
- | } | + | |
- | case ' | + | |
- | return rowValue >= value[' | + | |
- | } | + | |
- | case ' | + | |
- | if (Array.isArray(rowValue)) { | + | |
- | return !!rowValue.find((e) => (value[' | + | |
- | } | + | |
- | if (typeof rowValue !== ' | + | |
- | return !!value[' | + | |
- | } | + | |
- | return false | + | |
- | } | + | |
- | case ' | + | |
- | return rowValue < value[' | + | |
- | } | + | |
- | case ' | + | |
- | return rowValue <= value[' | + | |
- | } | + | |
- | case ' | + | |
- | return rowValue !== value[' | + | |
- | } | + | |
- | case ' | + | |
- | if (Array.isArray(rowValue)) { | + | |
- | return !rowValue.find((e) => (value[' | + | |
- | } | + | |
- | if (typeof rowValue !== ' | + | |
- | return !value[' | + | |
- | } | + | |
- | return false | + | |
- | } | + | |
default: | default: | ||
return false | return false | ||
Line 141: | Line 119: | ||
}) | }) | ||
+ | /** | ||
+ | * 1. button.update({ active: true, disabled: false })会输出?为什么? | ||
+ | */ | ||
</ | </ | ||
- | ==== 提交方法 ==== | ||
- | |||
- | * 请将答案写在txt文件内提交。 | ||
Line 159: | Line 136: | ||
- | 请用< | + | 请用< |
- | + | ||
- | ^ 时限 | 1小时 | | + | |
- | ^ 提交方法 | 只需要把相关的.js和.vue文件用ZIP(不可用RAR或其他格式)压缩后电邮代码至 joe.mao@gz.questwork.com 和 don.lee@questwork.com。不要把脚手架文件如node_modules和第三方插件压缩在内。 | | + | |