第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【學(xué)習(xí)打卡】第9天 項目實戰(zhàn):Vue.js仿京東到家電商全棧項目前端開發(fā)

標(biāo)簽:
Html5 JavaScript Vue.js

课程名称:前端工程师
课程章节: 第三章 项目登录&注册页开发
主讲老师:Dell

课程内容: 第三章 登录&注册页开发

3-7通过代码拆分增加逻辑可维护性

代理优化: 组件相关的功能逻辑都封装在组件里; 简化 setup 函数:

  1. 代码很多,优化下。 将toast弹窗相关的数据和方法放到一起

  2. Toast所有相关的都放到toast中统一的维护
    图片描述

3-8 Setup函数的职责以及注册功能的实现

  1. 使用 toRef

name 2s后不会变,不是响应式的数据,所以要用ref、reactive
ref处理基础数据类型
reactive处理对象、数组等
注意toRefs、toRef
reactive只是对象是响应式的,里面的值不是响应式的。
所以利用toRefs可以将里面的多个值变成响应式。
toRef是给一个默认值,虽然没有data但不会报错。

  1. data这个对象是响应式的,里面的数据不是
    toRefs将username、password变成响应式的
    就不用return data了,直接return username、password
    template中要使用的就要return!
  2. show、toastMessage、showToast都要导出
  3. 按功能块去整理代码逻辑
    setup主要做流程的函数,其他的逻辑封装到各自组件/模块中

3-9 Setup函数的职责以及注册功能的实现

autocomplete=“new-password” 关闭chrom的自我填充

处理注册流程、处理注册跳转流程、代码执行的一个流程,分开写,易读,逻辑更清晰。

//  (一)处理登陆流程
const useLoginEffcet = (showToast) => {
  const router = useRouter()
  const data = reactive({username: "", password: ""})
// 请求后端的逻辑,异步操作
  const handleLogin = async () => {
      //  发一个请求
      // 先执行await中的代码,后面的地址出错的时候,就会抛出
    try {
      const result = await post("/api/user/login", {
        username: data.username,
        password: data.password,
      });
       if (result?.errno === 0) {
        localStorage.isLogin = true;
        router.push({ name: "Home" });
      } else {
        showToast("登陆失败");
      }
    } catch (e) {
      showToast("请求失败");
    }
  }
  const {username,password } = toRefs (data)
  return {username,password,handleLogin}
}
// 处理注册跳转
const uesRegisterEffect = () => {
  const router = useRouter()
  const handleRegisterClick = () => {
  // 路由跳转功能,跳转到name是Register这个router页面
   router.push({ name: "Register" });
  }
  return { handleRegisterClick }
 }
export default {
  name: "Login",
  //  记得定义Toast子组件
  components: { Toast },
  // 职责就是告诉你,代码执行的一个流程
  setup() {
    const { show, toastMessage, showToast } = useToastEffect()
    const { username, password, handleLogin }= useLoginEffcet( showToast )
    const { handleRegisterClick } = uesRegisterEffect()

    return { username, password , show, toastMessage, handleLogin, handleRegisterClick };
  }
};
點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消