Web客戶端開發

来源:https://www.cnblogs.com/ggonekim/archive/2023/03/10/17203833.html
-Advertisement-
Play Games

Web開發工具 從高層次來看,可以將客戶端工具放入以下三大類需要解決的問題中: 安全網路 — 在代碼開發期間有用的工具。 轉換 — 以某種方式轉換代碼的工具,例如將一種中間語言轉換為瀏覽器可以理解的 JavaScript。 開發後階段 — 編寫完代碼後有用的工具,如測試和部署工具。 終端命令 導航計 ...


Web開發工具

從高層次來看,可以將客戶端工具放入以下三大類需要解決的問題中:

  • 安全網路 — 在代碼開發期間有用的工具。
  • 轉換 — 以某種方式轉換代碼的工具,例如將一種中間語言轉換為瀏覽器可以理解的 JavaScript。
  • 開發後階段 — 編寫完代碼後有用的工具,如測試和部署工具。

終端命令

  • 導航電腦的文件系統以及基本級別的任務,如創建、複製、重命名和刪除:
    • 移動您的目錄結構 : cd
    • 建立目錄:mkdir
    • 創建文件(修改他們的原數據): touch
    • 複製文件:cp
    • 移動文件:mv
    • 刪除文件或目錄:rm
  • 下載在特定的 url 找到的文件:curl
  • 在較大的文件體中尋找特定的片段:grep
  • 主頁查看文件的內容:less, cat
  • 操作和轉換文本流(例如,講 HTML 文件中的所有實例改為
    ): awk, tr, sed

一個非常有用的終端快捷方式是使用tab 鍵自動完成你知道的名字,而不是必須鍵入整個東西。例如,在鍵入以上兩個命令後,嘗試鍵入 cd D 並按下tab — 它應該自動完成目錄名稱 Desktop 對於您,只要它存在於當前目錄中。在你前進的過程中記住這一點。

JSX

JSX,意為 JavaScript 和 XML, 是 JavaScript 的擴展,為 JavaScript 帶來了類似 HTML 的語法。它由 React 團隊發明,用於 React 應用程式,但也可用於開發其他應用程式——例如 Vue 應用程式。

const subject = "World";
const header = (
  <header>
    <h1>Hello, {subject}!</h1>
  </header>
);

vue jsx

import myComponent from './myComponent'
import './HelloWorld.css'

// 創建一個組件button
const ButtonCounter = {
  name: "button-counter",
  props: ["count"],
  methods: {
    onClick() {
      this.$emit("change", this.count + 1);
    }
  },
  render() {
    return (
      <button onClick={this.onClick}>數量 {this.count}+</button>
    );
  }
};
export default {
  name: 'HelloWorld',
  components: {
    myComponent 
  },
  data () {
    return {
      text:'hello 紙沒了飛機',
      inputText:'我吃了',
      count: 0
    }
  },
  props: {
    msg: String
  },
  watch: {},
  methods: {
    onChange(val) {
      this.count = val;
      alert(this.count)
    }
  },
  render() {
  // const {text,inputText,count} = this //通過解構,下方return片段中就不需要this
    return (
    <div>
     <h3>內容</h3>
     {/* 純文本 */}
     <p>hello, I am Gopal</p>
     {/* 動態內容 */}
     <p>{ this.text }</p>
     <p>hello { this.msg }</p>
     {/* 輸入框 */}
     <input/>
     {/* 自定義組件 */}
     <myComponent/>
     <ButtonCounter
        style={{ marginTop: "10px" }}
        count={this.count}
        type="button"
        onChange={this.onChange}
      />
    </div>
    );
   }
}

VUE簡單說明

<template> 包含了所有的標記結構和組件的展示邏輯。template 可以包含任何合法的 HTML

組件文件名及其在 JavaScript 中的表示方式總是用大寫駝色(例如ToDoList),而等價的自定義元素總是用連字元小寫(例如<to-do-list>)。

<script> 包含組件中所有的非顯示邏輯,最重要的是, <script> 標簽需要預設導出一個 JS 對象。該對象是您在本地註冊組件、定義屬性、處理本地狀態、定義方法等的地方。在構建階段這個包含 template 模板的對象會被處理和轉換成為一個有 render() 函數的 Vue 組件。

props使組件動態化

<template>
  <div>
    <input type="checkbox" id="todo-item" checked="false" />
    <label for="todo-item">{{label}}</label>
  </div>
</template>

<script>
  export default {
    props: {
      label: { required: true, type: String },
      done: { default: false, type: Boolean }
    }
  };
</script>
  1. label的值應該是一個帶有兩個屬性的對象(或者是props,因為它們被調用在可找到的組件的 context)
    1. 第一個 required 屬性,它的值是 true. 這將會告訴 Vue 說,我們希望每個該組件的實例都必須有個 label 欄位。如果 ToDoItem 組件沒有 label 欄位的話,Vue 會提示警告。
    2. 第二是添加一個 type 屬性。這個屬性的值設為 JavaScript 的 String 類型。這等於告訴 Vue,我們希望 type 屬性的值是 String 類型的。
  2. 現在轉向doneprop.
    1. 首先添加一個 default 屬性,它的值是 false。這意味著當沒有 done prop 被傳遞給 ToDoItem 組件時, done prop 的值會是 false(註意 default 屬性不是必需的————我們只在非 required props 里才需要 default
    2. 接著,添加一個 type 屬性,值為 Boolean。這將告訴 Vue,我們希望這個 prop 的值是 JavaScript 的 Boolean 類型。

調用時傳遞label參數

<to-do-item label="My ToDo Item"></to-do-item>

props 是一種單向數據綁定,組件永遠不該改變自己的 props 的值,這點很重要。堅守這點的原因有很多。其一是,組件修改 props 會造成程式調試困難。如果一個值被傳遞進多個子組件,將很難定位這個值是在哪裡被修改的。此外,修改 props 會造成組件重新渲染。所以,一個組件里突變的 props 會觸發組件重新渲染,這可能會反過來再次觸發 props 突變。

data() {
  return {
    key: value
  }
}

data 屬性是一個函數。這是為了在運行時保持組件的每個實例的數據值是唯一的——為每個組件實例單獨調用函數。如果將數據聲明為僅一個對象,則該組件的所有實例將共用相同的值。這是 Vue 註冊組件方式的副作用,也是你不想要的。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天鹹魚給大家分享幾個不錯的 Linux 運維腳本,這些腳本中大量使用了 Linux 的文本三劍客: 1. awk 2. grep 3. sed 建議大家這三個工具都要瞭解並最好能夠較為熟練的使用 根據 PID 顯示進程所有信息 根據用戶輸入的 PID,過濾出該 PID 所有的信息 #! /bin/ ...
  • GreatSQL社區原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 GreatSQL是MySQL的國產分支版本,使用上與MySQL一致。 作者: xryz 文章來源:GreatSQL社區原創 前言: 我們在日常維護資料庫的時候,經常會遇到查詢慢的語句,這時候一般會通過執行EXPLAIN去查 ...
  • 在《商業銀行理財業務監督管理辦法》《關於規範金融機構資產管理業務的指導意見》等理財新規、資管新規的要求下,大資管行業結構持續優化,存量金融風險明顯收斂。此外,也促使資管行業在產品、風險、投研、客戶、營銷、管理、服務等各個層面加速數字化轉型。 本期DTALK我們邀請到袋鼠雲金融行業解決方案專家 範雲浩 ...
  • 1. 前言 kafka作為數據中間鍵在數據服務解耦,大數據,日誌方面堪稱一把瑞士軍刀,備受青睞,作為提供了一套完整命令行的程式,日常進行調試過程中難免會用到一些指令,現總結18條最常用指令。 2. 常用指令 啟動消費者 bin/kafka-console-consumer.sh --bootstra ...
  • 上架基本需求資料 1、蘋果開發者賬號 註冊好的蘋果開發者賬號,個人的就可以了。繳納年費99美刀後登錄到蘋果開發者後臺即刻看到如下內容 簡單描述一下以上內容用於幹啥: 1.app Store Connect:用於蘋果上架,也就是咱們上架到app Store所需要操作的目錄 2.證書、標識符和描述文件: ...
  • 前言 寫作如說話,想說與說明白中間隔著溝壑! 下麵用 Notion AI 作詩來作為本文開頭吧。 想說與說明白(作者:Notion AI) 想說千言萬語,說明白卻難如登天。 言語之間,溝壑重重,思想與表達,有時天壤之別。 有時候,我們沉默不語, 缺乏表達能力,難以抒發內心的情感。 這時候,Notio ...
  • ​ 表格: <table> <tr> <th>表格1</th> </tr> <tr> <td>表格2</td> </tr> </table> 快捷鍵:table>tr*數量>td*數量 屬性名 屬性值 說明 align left、center、right border 1或“” 邊框 cellpad ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 vue3 於 2020 年 09 月 18 日正式發佈,2022 年 2 月 7 日 vue3 成為新的預設版本 距離 vue3 正式發佈已經過去兩年有餘, 成為預設版本也過去大半年了,以前還能說是對新技術、新特性的觀望,而現在面試都直問 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...