欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue?select組件綁定的值為數(shù)字類型遇到的問題

 更新時間:2022年09月05日 08:48:06   作者:小劉加油!  
這篇文章主要介紹了vue?select組件綁定的值為數(shù)字類型遇到的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

select組件綁定的值為數(shù)字類型問題

在日常開發(fā)中,我們雙向綁定的form表單,經(jīng)常會遇到對數(shù)字類型的綁定,但對于v-model 綁定的值,輸入數(shù)字會自動轉(zhuǎn)成字符串類型。

對于input輸入框綁定的值,想要修改為數(shù)字類型很簡單,只需要使用表單的修飾符就可以。如下所示

number 可以將綁定的 v-model 改為 number 類型

<input v-model.number="age" type="number">

但對于 select 選擇框或者 radio 單選框來說,則沒有那么友好了。

select option 綁定的 value 是數(shù)字,但是 v-model 為 string ,這就會導致正常的數(shù)據(jù)無法渲染。解決方法如下所示:

使用 :value

<a-form-item label="登錄方式" name="type">
? ? ? ? ? ? ? ? ? ? <a-radio-group v-model:value="type">
? ? ? ? ? ? ? ? ? ? ? ? <a-radio :value="1">密碼登錄</a-radio>
? ? ? ? ? ? ? ? ? ? ? ? <a-radio :value="2">驗證碼登錄</a-radio>
? ? ? ? ? ? ? ? ? ? </a-radio-group>
</a-form-item>

這樣就可以正常渲染!

vue中的綁定值

學習重點

主要介紹一下vue中MVVM的特點。

也就是研究一下這個特點:改變數(shù)據(jù)的值,頁面會跟著改變,頁面上的值發(fā)生變化,數(shù)據(jù)也會聯(lián)動。

我們要學的就是:

  • Html標簽與數(shù)據(jù)的綁定;
  • Html標簽與屬性(CSS樣式等)的綁定,;
  • Html標簽與事件(點擊事件等)的綁定;

攔截器,給各種綁定設置一個攔截功能(數(shù)據(jù)需要滿足什么情況,才需要綁定?)。

值綁定

使用占位符{{fieldName}},數(shù)據(jù)會總動填充到頁面上。

使用v-model可以與輸入控件(input/select)進行綁定,輸入框內(nèi)的值發(fā)生變化,數(shù)據(jù)也會發(fā)生變化。

(v-model的設計就屬于MVVM模式)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Vue 測試實例</title>
    <script src="res/vue.js"></script>
</head>
<body>
<div id="app">
    <!--數(shù)據(jù)綁定-->
    <p>{{ message1 }} </p>
    <!--類似InnerHTML-->
    <div v-html="message2"></div>
    <!--雙向綁定,輸入框與展示的數(shù)據(jù)進行聯(lián)動,v-model的值影響data中的值,data中的值再影響<p>標簽的值-->
    <input v-model="message1">
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            message1: 'runoob!',
            message2: '<h>123456</h>',
        }
    })
</script>
</body>
</html>

屬性綁定

屬性綁定指的是控件自身的屬性,例如<a>標簽的href屬性,使用v-bind進行屬性綁定,簡寫 “:bind”、或者只保留一個 “:”。

后面會發(fā)現(xiàn),其實自定義組件的值,也是通過這種方式進行綁定的。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Vue 測試實例</title>
    <script src="res/vue.js"></script>
</head>
<body>
<div id="app">
    <!--綁定id屬性-->
    <div v-bind:id="rawId"></div>
    <!--綁定href屬性-->
    <a v-bind:href="url" rel="external nofollow" >{{name}}</a>
    <!--綁定CSS樣式-->
    <div :style="mystyle">{{name}}</div>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            mystyle:'background: #444;color: #eee',
            name: 'baidu',
            url: 'www.baidu.com',
            rawId: 'div_id',
        }
    })
</script>
</body>
</html>

事件綁定

事件和屬性的區(qū)別,就是事件是一個Function,而屬性是一個Object。

語法上有所差別,vue需要在methods中定義事件函數(shù),

使用v-on:click綁定點擊事件,簡寫@click。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Vue 測試實例</title>
    <script src="res/vue.js"></script>
</head>
<body>
<div id="app">
    <!--點擊事件,v-on表示 監(jiān)聽事件-->
    <button v-on:click="dialog('msg')">Click</button>
    <!--點擊事件,v-on表示 監(jiān)聽事件-->
    <button @click="dialog()">Click</button>
</div>
 
<script>
    new Vue({
        el: '#app',
        data: {
            message: 'runoob!'
        },
        methods: {
            dialog: function (msg) {
                if (!msg) {
                    alert(this.message);
                } else {
                    alert(msg);
                }
            }
        }
    })
</script>
</body>
</html>

攔截器(filters)

數(shù)據(jù)綁定之前,對數(shù)據(jù)計算或者校驗,比如說:數(shù)值是百分比,顯示之前,你需要給它增加一個百分號。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Vue 測試實例</title>
    <style>
        .class1 {
            background: #444;
            color: #eee;
        }
    </style>
    <script src="res/vue.js"></script>
</head>
<body>
<div id="app">
    <!--一般的屬性綁定不需要攔截器,需要動態(tài)改變樣式可以使用雙向綁定實現(xiàn)-->
    <div :class="{'class1': isShow}">Text</div>
    <div :class="{'class1': true}">Text</div>
    <!--在值綁定中,可以對輸入輸出進一步處理-->
    <input :value="message2 | formatStr"/>
    <span> {{message2 | formatStr}}</span>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            message1: 'msg1',
            message2: 'msg',
            isShow: false
        },
        filters: {
            formatStr: function (value) {
                return value + "%"
            }
        }
    })
</script>
<script>
</script>
</body>
</html>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue3中的createApp分析

    vue3中的createApp分析

    這篇文章主要介紹了vue3中的createApp分析,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 解決vue中對象屬性改變視圖不更新的問題

    解決vue中對象屬性改變視圖不更新的問題

    下面小編就為大家分享一篇解決vue中對象屬性改變視圖不更新的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue中的文本空格占位符說明

    vue中的文本空格占位符說明

    這篇文章主要介紹了vue中的文本空格占位符說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue實現(xiàn)前臺列表數(shù)據(jù)過濾搜索、分頁效果

    vue實現(xiàn)前臺列表數(shù)據(jù)過濾搜索、分頁效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)前臺列表數(shù)據(jù)過濾搜索、分頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • vue上傳圖片組件編寫代碼

    vue上傳圖片組件編寫代碼

    這篇文章主要為大家詳細介紹了vue上傳圖片組件的編寫代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Vue組件模板的幾種書寫形式(3種)

    Vue組件模板的幾種書寫形式(3種)

    這篇文章主要介紹了Vue組件模板的幾種書寫形式(3種),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • vue使用canvas實現(xiàn)移動端手寫簽名

    vue使用canvas實現(xiàn)移動端手寫簽名

    這篇文章主要為大家詳細介紹了基于vue使用canvas實現(xiàn)移動端手寫簽名,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • vue中v-if和v-for一起使用的弊端及解決辦法(同時使用 v-if 和 v-for不推薦)

    vue中v-if和v-for一起使用的弊端及解決辦法(同時使用 v-if 和 v-for不

    當 v-if 和 v-for 同時存在于一個元素上的時候,v-if 會首先被執(zhí)行,這篇文章主要介紹了vue中v-if和v-for一起使用的弊端及解決辦法,需要的朋友可以參考下
    2023-07-07
  • 使用vuedraggable實現(xiàn)從左向右拖拽功能

    使用vuedraggable實現(xiàn)從左向右拖拽功能

    這篇文章主要為大家詳細介紹了使用vuedraggable實現(xiàn)從左向右拖拽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue中使用ElementUI使用第三方圖標庫iconfont的示例

    Vue中使用ElementUI使用第三方圖標庫iconfont的示例

    這篇文章主要介紹了Vue中使用ElementUI使用第三方圖標庫iconfont的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論