国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端基礎(chǔ)(Vue的模塊化開發(fā))

這篇具有很好參考價(jià)值的文章主要介紹了前端基礎(chǔ)(Vue的模塊化開發(fā))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?前言:前面學(xué)習(xí)了前端HTML、CSS樣式、JavaScript以及Vue框架的簡(jiǎn)單適用,接下來(lái)運(yùn)用前端模塊化編程的思想,繼續(xù)學(xué)習(xí)Vue框架,完成自己項(xiàng)目項(xiàng)目的搭建。

目錄

響應(yīng)式基礎(chǔ) ref?reactive

學(xué)習(xí)成果展示

Vue項(xiàng)目搭建

搭建自己的vue項(xiàng)目

總結(jié)?


響應(yīng)式基礎(chǔ) ref?reactive

關(guān)于ref和reactive,官方解釋如下,另外一篇博客寫得也很清楚

響應(yīng)式基礎(chǔ) | Vue.js (vuejs.org)

談?wù)刅ue3中的ref和reactive_vue reactive_七公子77的博客-CSDN博客

學(xué)習(xí)成果展示

不用vue框架寫一個(gè)table

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>測(cè)試用例管理平臺(tái)</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div calss="table" style="
    display: inline-block">
        <h2>測(cè)試用例</h2>
        <button class="add-case-button" @click="isEdit=true">
            新增用例
        </button>
        <table border="2">
            <col style="width: 100px; overflow: hidden; text-overflow: ellipsis" />
            <col style="width: 100px" />
            <col style="width: 100px" />
            <col style="width: 100px" />
            <col style="width: 100px" />
            <tr>
                <th>用例名</th>
                <th>步驟名</th>
                <th>關(guān)鍵字</th>
                <th>參數(shù)1</th>
                <th>參數(shù)2</th>
                <th>操作</th>
            </tr>
            <tr>
                <td>參數(shù)正確登錄成功</td>
                <td>輸入正確的參數(shù)登錄成功</td>
                <td>用戶名 密碼</td>
                <td>用戶名</td>
                <td>密碼</td>
                <td><button>刪除</button></td>
            </tr>
            <tr>
                <td>參數(shù)錯(cuò)誤登錄失敗</td>
                <td>輸入錯(cuò)誤的參數(shù)登錄失敗</td>
                <td>用戶名 密碼</td>
                <td>用戶名</td>
                <td>密碼</td>
                <td><button>刪除</button></td>
            </tr>
            <tr>
                <td>參數(shù)為空登錄失敗</td>
                <td>輸入的參數(shù)為空登錄失敗</td>
                <td>用戶名 密碼</td>
                <td>用戶名</td>
                <td>密碼</td>
                <td><button>刪除</button></td>
            </tr>
            </col>
        </table>
    </div>
</body>

</html>

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端

上面的實(shí)現(xiàn)方式用到了很多個(gè)th、td標(biāo)簽,維護(hù)很麻煩,那有沒(méi)有更好的解決方法?

如何用vue框架實(shí)現(xiàn)?

用v-for,遍歷數(shù)組中的元素,進(jìn)行列表的渲染。

關(guān)鍵兩行代碼:

取列表的表頭,表頭名稱前加上編號(hào),編號(hào)從1開始

<th v-for="(Name,key,index) in tableName " :key="key">{{index+1}}{{Name}}</th>

取列表里具體的內(nèi)容

<tr v-for="testCase in testCases" >

如果要修改表頭、列表里內(nèi)容,不需要在標(biāo)簽里一個(gè)一個(gè)改,只需要去維護(hù)tableName、testCases里的值即可。是不是很省勁!

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>測(cè)試用例管理平臺(tái)</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

<body>
    <div id="test">
        <div calss="table" style="
    display: inline-block">
            <h2>測(cè)試用例</h2>
            <table border="2">
                <col style="width: 100px; overflow: hidden; text-overflow: ellipsis" />
                <col style="width: 100px" />
                <col style="width: 100px" />
                <col style="width: 100px" />
                <col style="width: 100px" />
                <thead>
                    <tr>
                        <th v-for="(Name,key,index) in tableName " :key="key">{{index+1}}{{Name}}</th>
                    </tr>
                </thead>
                <tbody>
                    <tr v-for="testCase in testCases">
                        <td>{{testCase.caseName}}</td>
                        <td>{{testCase.stepName}}</td>
                        <td>{{testCase.keywords}}</td>
                        <td>{{testCase.param1}}</td>
                        <td>{{testCase.param2}}</td>
                        <td>{{testCase.opration}}</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
    <script>
        const { createApp, computed, ref, reactive } = Vue;
        const = MRJJ{
            setup() {
                let tableName = reactive({
                    "caseName": "用例名",
                    "stepName": "步驟名",
                    "keywords": "關(guān)鍵字",
                    "param1": "參數(shù)一",
                    "param2": "參數(shù)二",
                    "opration": "操作",
                })

                let testCases = ref([
                    {
                        "id": 1,
                        "caseName": "參數(shù)正確登錄成功",
                        "stepName": "登錄成功",
                        "keywords": "用戶名",
                        "param1": "用戶名",
                        "param2": "密碼",
                        "opration": "刪除"
                    },
                    {
                        "id": 2,
                        "caseName": "參數(shù)錯(cuò)誤登錄失敗",
                        "stepName": "登錄失敗",
                        "keywords": "用戶名",
                        "param1": "用戶名",
                        "param2": "密碼",
                        "opration": "刪除"
                    },
                    {
                        "id": 3,
                        "caseName": "參數(shù)為空登錄失敗",
                        "stepName": "登錄成功",
                        "keywords": "用戶名",
                        "param1": "用戶名",
                        "param2": "密碼",
                        "opration": "刪除"
                    },
                ])
                return { tableName, testCases }
            }
        };
        createApp(MRJJ).mount('#test');
    </script>
</body>

</html>

可以看到td標(biāo)簽里的內(nèi)容自動(dòng)取出來(lái)了。?

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端

踩坑記錄:

createApp(MRJJ).mount('#test');

id為test這個(gè)div標(biāo)簽里的內(nèi)容,才能引用MRJJ里面的方法。

結(jié)合前面的內(nèi)容,最終寫出來(lái)的頁(yè)面!

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>測(cè)試用例管理平臺(tái)</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<header id="title">
    歡迎來(lái)到MRJJ_9的自動(dòng)化測(cè)試平臺(tái)
</header>
<body>
    <div class="learn-website">
        <h3>前端學(xué)習(xí)網(wǎng)站</h3>
        <a class="biglink" >w3school.com</a>
        </br>
        <a >MDN 社區(qū)</a>
        </br>
        <a class="test01" >CSDN社區(qū)</a>
        </br>
        <h3>本人博客</h3>
        <a >前端學(xué)習(xí)博客</a>
    </div>
    <div id="test">
        <div class="form" style="
        display: inline-block">
                <h2 id="form-title">添加測(cè)試用例</h2>
                <!-- <button class="close-button" @click="isEdit=false">關(guān)閉</button> -->
                <label>
                    用例名:
                    <input type="text" placeholder="輸入測(cè)試用例名稱" name="caseName" v-model="newCase.caseName">
                </label>
                <label>步驟名:
                    <input type="text" placeholder="輸入測(cè)試步驟名稱" name="stepName" v-model="newCase.stepName">
                </label>
                <div>請(qǐng)選擇用例類型:
                    <label>
                        <input type="radio" name="type" value="api">接口自動(dòng)化
                    </label>
                    <label>
                        <input type="radio" name="type" value="ui">UI自動(dòng)化
                        <br>
                    </label>
                </div>
                <label for="keywords">
                    關(guān)鍵字:
                </label>
                <select name="keywords" v-model="newCase.keywords">
                    <option value="openBrowser">打開瀏覽器</option>
                    <option value="params">傳入必傳參數(shù)</option>
                </select>
                </br>
                <lable>參數(shù)一:<input type="text" name="param1" v-model="newCase.param1"></lable>
                <lable>參數(shù)二:<input type="text" name="param2" v-model="newCase.param2"></lable>
            </br>
                <button id="addSubmit" type="button" @click="addCase">提交新增</button>
            </form>
        </div>
        <div calss="table" style="
    display: inline-block">
            <h2>測(cè)試用例</h2>
            <table border="2">
                <col style="width: 100px; overflow: hidden; text-overflow: ellipsis" />
                <col style="width: 100px" />
                <col style="width: 100px" />
                <col style="width: 100px" />
                <col style="width: 100px" />
                <thead>
                    <tr>
                        <th v-for="(Name,key,index) in tableName " :key="key">{{index+1}}{{Name}}</th>
                    </tr>
                </thead>
                <tbody>
                    <tr v-for="testCase in testCases">
                        <td>{{testCase.caseName}}</td>
                        <td>{{testCase.stepName}}</td>
                        <td>{{testCase.keywords}}</td>
                        <td>{{testCase.param1}}</td>
                        <td>{{testCase.param2}}</td>
                        <td>
                            <button id="delete" @click="deleteCase(testCase)">刪除</button>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
    <script>
        const { createApp, computed, ref, reactive } = Vue;
        const MRJJ = {
            setup() {
                let tableName = reactive({
                    "caseName": "用例名",
                    "stepName": "步驟名",
                    "keywords": "關(guān)鍵字",
                    "param1": "參數(shù)一",
                    "param2": "參數(shù)二",
                    "opration": "操作",
                })

                let testCases = ref([
                    {
                        "id": 1,
                        "caseName": "參數(shù)正確登錄成功",
                        "stepName": "登錄成功",
                        "keywords": "用戶名",
                        "param1": "用戶名",
                        "param2": "密碼",
                        "opration": "刪除"
                    },
                    {
                        "id": 2,
                        "caseName": "參數(shù)錯(cuò)誤登錄失敗",
                        "stepName": "登錄失敗",
                        "keywords": "用戶名",
                        "param1": "用戶名",
                        "param2": "密碼",
                        "opration": "刪除"
                    },
                    {
                        "id": 3,
                        "caseName": "參數(shù)為空登錄失敗",
                        "stepName": "登錄成功",
                        "keywords": "用戶名",
                        "param1": "用戶名",
                        "param2": "密碼",
                        "opration": "刪除"
                    },
                ])
                let newCase = reactive({
                    "caseName": "用例名",
                    "stepName": "步驟名",
                    "keywords": "關(guān)鍵字",
                    "param1": "參數(shù)一",
                    "param2": "參數(shù)二",
                })
                let isCaseName = ref(true);

                function deleteCase(testCase) {
                    console.log("要?jiǎng)h除的用例是:", testCase)
                    testCases.value.splice(testCases.value.indexOf(testCase), 1);
                }

                function addCase() {
                    let lastId = testCases.value[testCases.value.length - 1].id;
                    console.log(lastId);
                    let addCase = { ...newCase };
                    addCase.id = lastId + 1;
                    testCases.value.push(addCase);
                    isEdit.value = false;
                }

                return { tableName, testCases, newCase, addCase, deleteCase}
            }
        };
        createApp(MRJJ).mount('#test');
    </script>
    <link rel="stylesheet" href="case.css">
    <style>

        body {
            background: aliceblue;
            background-image: url("./picture.jpg");
            background-size: 60vw;
            background-position: 10% 10%;
        }
    </style>
</body>
</html>

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端

Vue項(xiàng)目搭建

npm init vue

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端

創(chuàng)建的項(xiàng)目結(jié)構(gòu),?在本地將項(xiàng)目啟動(dòng)起來(lái),進(jìn)入工程目錄,打開終端,輸入命令:npm run dev?

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端?本地啟動(dòng)完成的項(xiàng)目

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端

vue插件安裝必備,推薦看下面的這篇博客

開發(fā)vue3必備的幾個(gè)vscode插件,你用上了嗎?-騰訊云開發(fā)者社區(qū)-騰訊云 (tencent.com)

vs code切換主題,F(xiàn)ile->preferences-Theme

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端

搭建自己的vue項(xiàng)目

搭建過(guò)程遇到一些坑,特開了一個(gè)博客記錄

啟動(dòng)Vue項(xiàng)目踩坑記錄_MRJJ_9的博客-CSDN博客

使用組件化的方式,搭建的Vue項(xiàng)目大功告成了?。?!?

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端

前端基礎(chǔ)(Vue的模塊化開發(fā)),前端技術(shù),前端??

總結(jié)?

從前面的基礎(chǔ)學(xué)習(xí),一路走到Vue框架這里,可以看到組件化編程確實(shí)很省勁,這也是實(shí)際項(xiàng)目中大都要用到vue3框架的原因,到這里前端方面的基礎(chǔ)自己再好好學(xué)習(xí)一下,為后面自己做個(gè)網(wǎng)站打一個(gè)堅(jiān)實(shí)的基礎(chǔ)?。。∏岸诉€挺有意思的!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-659956.html

到了這里,關(guān)于前端基礎(chǔ)(Vue的模塊化開發(fā))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue的模塊化開發(fā)初探

    Vue的模塊化開發(fā)初探

    Vue是一個(gè)漸進(jìn)式JavaScript框架,可以按需引入部分功能,而不必全量引入整個(gè)框架。 2.1 下載必須模塊 在瀏覽器輸入: https://unpkg.com/vue@3/dist/vue.esm-browser.js ,右鍵另存為,保存到demo.html文件同級(jí)目錄下。 2.2 安裝Live Server插件 在VSCode插件市場(chǎng)搜索Live Server并安裝,如下圖: 2.

    2024年04月10日
    瀏覽(27)
  • 前端工程化實(shí)戰(zhàn):React 模塊化開發(fā)、性能優(yōu)化和組件化實(shí)踐

    前端工程化實(shí)戰(zhàn)是指通過(guò)組織工作流程、使用工具和技術(shù)來(lái)提高前端開發(fā)效率和質(zhì)量的一種方法。常見(jiàn)的前端工程化實(shí)踐包括模塊化開發(fā)、自動(dòng)化構(gòu)建、代碼檢查和測(cè)試、性能優(yōu)化等。下面將簡(jiǎn)要介紹模塊化開發(fā)、性能優(yōu)化和組件化實(shí)踐。 模塊化開發(fā) 在 React 中實(shí)現(xiàn)模塊化開

    2023年04月10日
    瀏覽(100)
  • 如何在Vue中進(jìn)行單元測(cè)試?什么是Vue的模塊化開發(fā)?

    在Vue中進(jìn)行單元測(cè)試可以提高代碼的可維護(hù)性和可讀性,同時(shí)也能夠幫助開發(fā)者更快地找到代碼中的問(wèn)題和潛在的錯(cuò)誤。下面是一些在Vue中進(jìn)行單元測(cè)試的步驟: 安裝單元測(cè)試工具 首先需要安裝一個(gè)單元測(cè)試工具,例如Jest或Mocha??梢允褂胣pm或yarn進(jìn)行安裝。 創(chuàng)建測(cè)試文件

    2024年02月12日
    瀏覽(25)
  • 【Go 基礎(chǔ)篇】Go語(yǔ)言包詳解:模塊化開發(fā)與代碼復(fù)用

    在Go語(yǔ)言中, 包(Package) 是一種用于組織代碼的機(jī)制,用于將相關(guān)的函數(shù)、類型和變量等組織在一起,以便于模塊化開發(fā)和代碼復(fù)用。包的使用能夠使程序結(jié)構(gòu)更加清晰、可維護(hù)性更高,同時(shí)也是Go語(yǔ)言強(qiáng)調(diào)的一項(xiàng)重要特性。本篇博客將深入探討Go語(yǔ)言中包的相關(guān)知識(shí),包括

    2024年02月11日
    瀏覽(88)
  • 前端10年進(jìn)化 Node.js、模塊化、CommonJS、AMD、CMD、Webpack、Vue-cli、Electron-vue

    模塊化的概念在軟件開發(fā)領(lǐng)域已經(jīng)存在很長(zhǎng)時(shí)間,但在?JavaScript?中的模塊化發(fā)展相對(duì)較晚。以下是對(duì)您提出的問(wèn)題的回答: 提出時(shí)間:JavaScript?中的模塊化概念相對(duì)較早地提出于?CommonJS?規(guī)范。CommonJS?是一種?JavaScript?模塊化規(guī)范,最早在?2009?年由?Ryan?Dahl?和其他社區(qū)成

    2024年02月11日
    瀏覽(25)
  • 前端進(jìn)階之——模塊化

    前端進(jìn)階之——模塊化

    ? ? ? ? 在做項(xiàng)目的時(shí)候越來(lái)越發(fā)現(xiàn)模塊化的重要性,做好模塊化開發(fā)不僅給后期的維護(hù)帶來(lái)不少好處而且大大提升項(xiàng)目開發(fā)效率,接下來(lái)整理一下模塊化相關(guān)知識(shí)吧。 封裝方法、提高代碼的復(fù)用性、可維護(hù)性和可讀性 隔離作用域,避免污染全局作用域 避免變量沖突 立即執(zhí)

    2024年02月10日
    瀏覽(93)
  • 前端模塊化

    前端模塊化

    ? 隨著前端應(yīng)用的日益復(fù)雜,我們的項(xiàng)目代碼已經(jīng)逐漸膨脹到了不得不花大量時(shí)間去管理的程度了。而模塊化就是一種最主流的代碼組織方式,它通過(guò)把復(fù)雜的代碼按照功能的不同劃分為不同的模塊單獨(dú)維護(hù),從而提高開發(fā)效率、降低維護(hù)成本。模塊化可以使你能夠更容易地

    2024年02月08日
    瀏覽(116)
  • 【前端模塊化】JS模塊化思想以及相關(guān)規(guī)范(CommonJS、ES module)

    1.模塊化概念 隨著前端應(yīng)用日趨復(fù)雜,項(xiàng)目代碼也大量膨脹,模塊化就是一種最主流的代碼組織方式, 一個(gè)模塊就是一個(gè)實(shí)現(xiàn)特定功能的文件 ,它通過(guò)把我們的復(fù)雜代碼按照功能的不同,劃分為不同的模塊單獨(dú)維護(hù)的這種方式,去提高我們的開發(fā)效率,降低維護(hù)成本。要用

    2024年02月01日
    瀏覽(42)
  • 前端工程化之模塊化

    前端工程化之模塊化

    前端模塊化是一種標(biāo)準(zhǔn),不是實(shí)現(xiàn) 理解模塊化是理解前端工程化的前提 前端模塊化是前端項(xiàng)目規(guī)?;谋厝唤Y(jié)果 前端模塊化就是將復(fù)雜程序根據(jù)規(guī)范拆分成若干模塊,一個(gè)模塊包括輸入和輸出。而且模塊的內(nèi)部實(shí)現(xiàn)是私有的,它通過(guò)對(duì)外暴露接口與其他模塊通信,而不是直

    2024年02月11日
    瀏覽(1241)
  • 簡(jiǎn)單聊兩句前端模塊化

    在前端開發(fā)中,模塊化是一種將代碼拆分為獨(dú)立模塊的開發(fā)方法。它通過(guò)將功能相似或相關(guān)的代碼組織成可復(fù)用、可維護(hù)的模塊,以提高開發(fā)效率和代碼質(zhì)量。 模塊化的主要目的是解決傳統(tǒng)的JS開發(fā)存在的問(wèn)題,例如全局命名沖突、代碼復(fù)用困難、依賴管理混亂等。通過(guò)模塊

    2024年02月05日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包