interview:developer:vue_developer:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
interview:developer:vue_developer:start [2025/02/11 12:00] perry.zenginterview:developer:vue_developer:start [2025/05/22 10:39] (current) – [第二题] yan.feng
Line 7: Line 7:
 ==== 提交方法 ==== ==== 提交方法 ====
  
-     * 第一题请将答案写在txt文件内提交。 +     * 第一题请将答案写在 .txt 文件内。 
-     * 第二题只需要把相关的.js和.vue文件用ZIP压缩(不可用RAR或其他格式),不要脚手架文件如node_modules和第三方插件压缩在内。 +     * 第二题:请将相关的 .js 和 .vue 文件放在一个文件夹内,不要包含脚手架文件如 node_modules和第三方插件。 
-     * 压缩后电邮代码至 hr@gz.questwork.com+     提交要求:所有题目答案统一放在一个文件夹内,并用 ZIP 格式压缩(不可用 RAR 或其他格式) 
  
-<note warning>电邮內必须寫下你的名字和微信号,另外再附上你的pdf簡历,否则不予处理。</note> 
  
 =====  第一题 ===== =====  第一题 =====
Line 17: Line 17:
 阅读代码并回答以下问题: 阅读代码并回答以下问题:
  
-  -  button.update({ active: true, disabled: false })会输出?为什么?+  -  button.update({ active: true, disabled: false })的结果是什么?为什么?
  
 <code> <code>
Line 26: Line 26:
     opt = opt || {}     opt = opt || {}
     this.status = {     this.status = {
-      active: typeof opt.active === 'boolean' ? opt.active : true+      active: typeof opt.active === 'boolean' ? opt.active : true,
       disabled: typeof opt.disabled === 'boolean' ? opt.disabled : true       disabled: typeof opt.disabled === 'boolean' ? opt.disabled : true
     }     }
Line 41: 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 62: Line 62:
 function getValidation({ rule, data }) { function getValidation({ rule, data }) {
   if (!rule) {   if (!rule) {
-    return true+    return false
   }   }
   const { key = '', value } = rule   const { key = '', value } = rule
Line 83: Line 83:
       return rowValue === value['$eq']       return rowValue === value['$eq']
     }     }
-    case '$gt':+    
-      return rowValue > value['$gt'+
-    } +
-    case '$gte':+
-      return rowValue >= value['$gte'+
-    } +
-    case '$in':+
-      if (Array.isArray(rowValue)) { +
-        return !!rowValue.find((e) => (value['$in'].includes(e))) +
-      } +
-      if (typeof rowValue !== 'object') { +
-        return !!value['$in'].includes(rowValue) +
-      } +
-      return false +
-    } +
-    case '$lt':+
-      return rowValue < value['$lt'+
-    } +
-    case '$lte':+
-      return rowValue <= value['$lte'+
-    } +
-    case '$ne':+
-      return rowValue !== value['$ne'+
-    } +
-    case '$notIn':+
-      if (Array.isArray(rowValue)) { +
-        return !rowValue.find((e) => (value['$notIn'].includes(e))) +
-      } +
-      if (typeof rowValue !== 'object') { +
-        return !value['$notIn'].includes(rowValue) +
-      } +
-      return false +
-    }+
     default:     default:
       return false       return false
Line 152: Line 120:
  
 /** /**
-* 1. button.update({ active: true, disabled: false })會輸出?+* 1. button.update({ active: true, disabled: false })会输出?
 */ */
    
Line 168: Line 136:
  
  
-请用<wrap hi>Vue.js 2.0</wrap>或<wrap hi>Vue.js 3.0</wrap>以 "SFC 单文件组件" 编码方式完成以下购物车题目。除了<wrap hi>Vue.js 2.0</wrap>, <wrap hi>Vue.js 3.0</wrap>, bootstrap 外,请尽量少用第三方库。不可使用Element UI, Mint UI等第三方库。+请用<wrap hi>Vue.js 2.0</wrap>或<wrap hi>Vue.js 3.0</wrap>以 "SFC 单文件组件" 编码方式完成以下购物车题目。除了<wrap hi>Vue.js 2.0</wrap>, <wrap hi>Vue.js 3.0</wrap>, bootstrap 外,请尽量少用第三方库。不可使用Element UI, Mint UI等第三方库。<wrap hi>**请勿使DeepSeek等工具**</wrap>
  
  
Line 185: Line 153:
 ==== 购物车功能 ==== ==== 购物车功能 ====
  
-  * 自动计算总金额(必须)+**以下功能必须实现** 
 + 
 +  * 自动计算总金额
   * 能删除已选择产品   * 能删除已选择产品
   * 能更改数量   * 能更改数量
   * 能按產品名稱排序   * 能按產品名稱排序
 +
  
  
  • interview/developer/vue_developer/start.1739246404.txt.gz
  • Last modified: 2025/02/11 12:00
  • by perry.zeng