最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實(shí)現(xiàn)從外部修改組件內(nèi)部的變量的值

 更新時(shí)間:2020年07月30日 15:34:46   作者:橘生南夢(mèng)  
這篇文章主要介紹了vue實(shí)現(xiàn)從外部修改組件內(nèi)部的變量的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1、首先是如何給你定義的變量拿到數(shù)據(jù):

這里我自己用的是vuex:

首先在你項(xiàng)目的src文件夾下創(chuàng)建這么一個(gè)目錄:

之后就要在index.js中將homedatas.js(拿數(shù)據(jù)的js)共享出去,使頁面能拿到數(shù)據(jù),

以下是index.js的代碼:

隨后就是在homedatas中獲取數(shù)據(jù)了,以下是homedatas.js代碼:

以上就是獲取數(shù)據(jù)的步驟,之后就是在頁面中拿到這個(gè)獲取到的數(shù)據(jù):

首當(dāng)其沖不可少的就是引用,引用vuex和引用組件:

之后在頁面的jascript中的export default中定義組件,獲取數(shù)據(jù):

用這個(gè)方式在頁面中引用組件,然后再自定義標(biāo)簽中將數(shù)據(jù)傳遞給組件:

2、子組件中獲取父組件傳遞過來的數(shù)據(jù):

props中定義屬性,這是之前在頁面自定義標(biāo)簽中設(shè)置的三個(gè)屬性,分別控制組件中的不同部分,定義每個(gè)屬性的類型、默認(rèn)值以及測(cè)試函數(shù),注意,測(cè)試函數(shù)一定要return一個(gè)值,不然頁面會(huì)報(bào)錯(cuò),測(cè)試函數(shù)的參數(shù)就是傳遞過來的值:

scrolldatas是一個(gè)數(shù)組,之后便是循環(huán)遍歷這個(gè)數(shù)組中的元素,數(shù)組中的值就能展示在頁面了,頁面元素會(huì)隨著數(shù)組元素的改變而改變:

之后就是其他兩個(gè)變量怎么在組建中引用了:

首先我要在測(cè)試函數(shù)中判斷一下,這個(gè)傳進(jìn)來的值符合不符合要求,如果不符合,那就不執(zhí)行測(cè)試函數(shù),就是默認(rèn)值,如果符合要求,執(zhí)行函數(shù),并在函數(shù)中改變默認(rèn)值,賦值給相應(yīng)自定義變量:

之后就是調(diào)用函數(shù),調(diào)用函數(shù)中傳入?yún)?shù),這個(gè)參數(shù)現(xiàn)在的值不是最開始var的初始值,而是后來測(cè)試函數(shù)中因?yàn)榉蠝y(cè)試函數(shù)的條件后來賦給的值(因?yàn)閣indow.onload直到頁面加載才會(huì)執(zhí)行):

之后就要在需要用到這個(gè)變量的函數(shù)中傳一個(gè)參數(shù)(speed,這個(gè)speed的值就是上面changespeed的值):

所以經(jīng)過一會(huì)說那個(gè)的操作,只要在獲取數(shù)據(jù)的地方修改值,頁面效果就會(huì)隨之改變,不需要再組件中修改任何東西:

補(bǔ)充知識(shí):vue 中如何修改傳給component中的屬性的值并賦值到template中

記錄下來加強(qiáng)記憶

在外面引用option-item-template模板并傳值進(jìn)去,然后在component中對(duì)值進(jìn)行修改然后在賦值到template

下面是外面引用的寫法

<option-item-template v-bind:item="item" v-for="optionItem in item.option" v-bind:optionitems="optionItem" v-bind:answer="item.data.answer" v-bind:hassub="changeData.hasSub"></option-item-template>

模板部分的代碼

Vue.component('option-item-template', {
  props: ['item', 'optionitems', 'answer','hassub'],
  data: function () {
    return {
      classname: {
        "choose-content": true,
        "stan-answer": false
      }
    }
  },
  watch: {
    hassub: function (newValue, oldValue) {//當(dāng)hassub屬性的值發(fā)生改變時(shí)會(huì)執(zhí)行下面的代碼
      this.changeStanAnswer(newValue, this.answer);
    }
  },
  mounted: function () {//模塊編譯/掛載之后執(zhí)行
    this.changeStanAnswer(this.hassub,this.answer);
  },
  methods: {
    changeStanAnswer: function (sub, answer) {
      if (sub && (answer.indexOf(this.optionitems.chooseName) != -1)) {
        this.classname = {
          "choose-content": true,
          "stan-answer": true
        };
      } else {
        this.classname = {
          "choose-content": true,
          "stan-answer": false
        };
      }
    }
  },
  template: '<li class="mui-table-view-cell" v-if="optionitems.selectName || optionitems.selectImage">'
    + '<label :class="classname">'
    + '<input v-if= "item.data.itemType==2" type="checkbox" :name="item.data.tiKuId" v-bind:data-number="item.data.shiJuanNumber" data-type="checkbox" :value="optionitems.chooseName" />'
    + '<input v-else type="radio" :name="item.data.tiKuId" v-bind:data-number="item.data.shiJuanNumber" :value="optionitems.chooseName" data-type="radio" />'
    + '<span class= "choose-btn" >{{optionitems.chooseName}}</span>'
    + '<span class="choose-text">'
    + '{{optionitems.selectName}}'
    + '![在這里插入圖片描述]()'
    + '</span>'
    + '</label></li>'
});

由上面的代碼所示,根據(jù)傳進(jìn)來的值hassub,和optionitems.chooseName的值來拼成最后需要加載的樣式及class的值。
hassub的值是會(huì)變化的,同時(shí)需要根據(jù)改變的值加載不同的樣式就需要在watch中監(jiān)聽hassub的值,當(dāng)它的值發(fā)生改變時(shí)同時(shí)也改變class的值。

以上這篇vue實(shí)現(xiàn)從外部修改組件內(nèi)部的變量的值就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • webstorm添加*.vue文件支持

    webstorm添加*.vue文件支持

    這篇文章主要介紹了webstorm添加*.vue文件支持,webstorm很多的插件內(nèi)置,不用安裝插件,下面嘗試用vue和es6做項(xiàng)目,有興趣的可以了解一下
    2018-05-05
  • Vue-Router路由守衛(wèi)詳?shù)募?xì)用法教程

    Vue-Router路由守衛(wèi)詳?shù)募?xì)用法教程

    在Vue.js應(yīng)用中,Vue-Router是一個(gè)非常重要的插件,它允許我們實(shí)現(xiàn)頁面間的導(dǎo)航,然而,僅僅實(shí)現(xiàn)導(dǎo)航是不夠的,我們還需要在導(dǎo)航的不同階段進(jìn)行各種操作,本文將結(jié)合實(shí)際案例,詳細(xì)介紹Vue-Router路由守衛(wèi)的用法,需要的朋友可以參考下
    2024-12-12
  • vue如何通過某個(gè)字段獲取詳細(xì)信息

    vue如何通過某個(gè)字段獲取詳細(xì)信息

    這篇文章主要介紹了vue如何通過某個(gè)字段獲取詳細(xì)信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue3新屬性之css中使用v-bind的方法(v-bind?in?css)

    Vue3新屬性之css中使用v-bind的方法(v-bind?in?css)

    這篇文章主要介紹了Vue3新屬性css中使用v-bind(v-bind?in?css)的方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Vue CLI 命令行打包配置自定義參數(shù)方式

    Vue CLI 命令行打包配置自定義參數(shù)方式

    這篇文章主要介紹了Vue CLI 命令行打包配置自定義參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 從Vue到Postman全面驗(yàn)證API接口跨域問題解決

    從Vue到Postman全面驗(yàn)證API接口跨域問題解決

    我們都知道跨域是同源策略導(dǎo)致的,域名不同、協(xié)議不同、端口號(hào)不同任意一種情況都會(huì)導(dǎo)致跨域,這篇文章主要介紹了從Vue到Postman全面驗(yàn)證API接口跨域問題,需要的朋友可以參考下
    2024-08-08
  • vue 動(dòng)態(tài)組件用法示例小結(jié)

    vue 動(dòng)態(tài)組件用法示例小結(jié)

    這篇文章主要介紹了vue 動(dòng)態(tài)組件用法,結(jié)合實(shí)例形式總結(jié)分析了vue 動(dòng)態(tài)組件基本功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • 詳解基于webpack和vue.js搭建開發(fā)環(huán)境

    詳解基于webpack和vue.js搭建開發(fā)環(huán)境

    本篇文章主要介紹了詳解基于webpack和vue.js搭建開發(fā)環(huán)境 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • vue請(qǐng)求按順序執(zhí)行的示例詳解

    vue請(qǐng)求按順序執(zhí)行的示例詳解

    我們有時(shí)候會(huì)碰到這種情況,需要連續(xù)發(fā)送兩個(gè)請(qǐng)求,第二個(gè)請(qǐng)求需要用第一個(gè)請(qǐng)求的某個(gè)返回值作為參數(shù)來作為第二個(gè)請(qǐng)求的請(qǐng)求參數(shù),這篇文章主要介紹了vue請(qǐng)求如何按順序執(zhí)行,需要的朋友可以參考下
    2023-12-12
  • Vue項(xiàng)目刷新后h5樣式失效的原因及解決方案

    Vue項(xiàng)目刷新后h5樣式失效的原因及解決方案

    今天遇到一個(gè)bug,有一個(gè)Element的message組件,用它做的一個(gè)進(jìn)度條,它是寫在一個(gè)頁面上,并且是用js控制dom元素的,web端一切正常,但是,H5頁面刷新的時(shí)候它樣式加載不出來了,所以本文主要介紹了Vue項(xiàng)目刷新后h5樣式失效的原因及解決方案,需要的朋友可以參考下
    2024-10-10

最新評(píng)論

定兴县| 长岭县| 永宁县| 襄垣县| 承德县| 丽江市| 扎囊县| 中卫市| 离岛区| 唐山市| 土默特左旗| 化德县| 甘肃省| 长白| 祁门县| 壶关县| 凉城县| 诸暨市| 惠东县| 刚察县| 柳江县| 鄱阳县| 固镇县| 噶尔县| 苍梧县| 丽水市| 边坝县| 金乡县| 津南区| 乌海市| 马公市| 建阳市| 天水市| 阿尔山市| 偏关县| 吉木萨尔县| 南乐县| 普安县| 陆丰市| 汾阳市| 锡林浩特市|