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

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

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

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

這里我自己用的是vuex:

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

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

以下是index.js的代碼:

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

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

首當其沖不可少的就是引用,引用vuex和引用組件:

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

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

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

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

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

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

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

之后就是調用函數(shù),調用函數(shù)中傳入?yún)?shù),這個參數(shù)現(xiàn)在的值不是最開始var的初始值,而是后來測試函數(shù)中因為符合測試函數(shù)的條件后來賦給的值(因為window.onload直到頁面加載才會執(zhí)行):

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

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

補充知識:vue 中如何修改傳給component中的屬性的值并賦值到template中

記錄下來加強記憶

在外面引用option-item-template模板并傳值進去,然后在component中對值進行修改然后在賦值到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) {//當hassub屬性的值發(fā)生改變時會執(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ù)傳進來的值hassub,和optionitems.chooseName的值來拼成最后需要加載的樣式及class的值。
hassub的值是會變化的,同時需要根據(jù)改變的值加載不同的樣式就需要在watch中監(jiān)聽hassub的值,當它的值發(fā)生改變時同時也改變class的值。

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

  • vue如何通過某個字段獲取詳細信息

    vue如何通過某個字段獲取詳細信息

    這篇文章主要介紹了vue如何通過某個字段獲取詳細信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    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)的方法,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • Vue CLI 命令行打包配置自定義參數(shù)方式

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

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

    從Vue到Postman全面驗證API接口跨域問題解決

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

    vue 動態(tài)組件用法示例小結

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

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

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

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

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

    Vue項目刷新后h5樣式失效的原因及解決方案

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

    广汉市| 敦化市| 民权县| 大宁县| 兰坪| 昌宁县| 南部县| 永新县| 德令哈市| 金华市| 定州市| 洪雅县| 康平县| 凌云县| 包头市| 佛冈县| 吉木萨尔县| 饶平县| 河间市| 喜德县| 滦平县| 襄汾县| 阜南县| 邵阳县| 泸州市| 横峰县| 鄂伦春自治旗| 屯留县| 南和县| 大宁县| 芜湖市| 东丰县| 闽侯县| 博爱县| 积石山| 福海县| 大方县| 贵州省| 勃利县| 贵德县| 万山特区|