vue如何實(shí)現(xiàn)跨頁(yè)面?zhèn)鬟f與接收數(shù)組并賦值
跨頁(yè)面?zhèn)鬟f與接收數(shù)組并賦值

為更好讓大家理解拿自己的項(xiàng)目做例子并附上動(dòng)圖效果,可以看到將第一行數(shù)據(jù)選中的一行賦值到了另一個(gè)界面:為了更好讓大家理解拿去附用將我每個(gè)界面和方法屬性的命名都介紹給大家:
兄弟界面跳轉(zhuǎn):question-edit——>add-question
1.界面A:question-edit
想要將本行的數(shù)據(jù)賦值過(guò)去,因?yàn)椴皇且粋€(gè)所以要用到數(shù)組,將它們打包好,首先第一步我們的入口在操作的編輯圖標(biāo)上
1.編輯圖標(biāo)代碼:
<template slot-scope="scope"> <el-button @click="addQuestion(scope.row)" type="text" size="small" icon="el-icon-edit"></el-button> </template>
點(diǎn)擊事件中的addQuestion是自己定義的界面跳轉(zhuǎn)方法。確定本行攜帶數(shù)據(jù)加入模板插槽后,在跳轉(zhuǎn)方法中加入(scope.row)
2.方法addQuestion
addQuestion(row) {
this.carryCurrentRowCode = row;
this.$router.push({
path: "add-question",
//query: this.carryCurrentRowCode
query: {
carryCurrentRowCode: this.carryCurrentRowCode
}
});
},跳轉(zhuǎn)功能的實(shí)現(xiàn)主要是path: "add-question"起到的作用。
界面跳轉(zhuǎn)詳情可以了解詳細(xì)文章:http://www.dhdzp.com/article/245670.htm
注意:注釋的一行不能實(shí)現(xiàn),用下方帶括號(hào)的。
下方carryCurrentRowCode: this.carryCurrentRowCode
前邊的是接收界面用到的接收數(shù)組,我這里把他們名字命名一樣了,實(shí)際前后可以不同。
3.carryCurrentRowCod是定義的數(shù)組
export default {
data() {
return {
//點(diǎn)擊編輯 攜帶當(dāng)前行的參數(shù)數(shù)組
carryCurrentRowCode: {
questionTypeId: "",
serial: "",
questionClassifyId: "",
questionContent: "",
degreeInitial: ""
},
}數(shù)組中括號(hào)的是帶的組件的數(shù)據(jù)。括號(hào)里加自己想攜帶的數(shù)據(jù)。
2.界面B:add-question
1.拿過(guò)傳遞過(guò)來(lái)的數(shù)組
export default {
data() {
return {
// 傳遞過(guò)的數(shù)組
carryCurrentRowCode: {}
};2.因?yàn)槟眠^(guò)來(lái)的數(shù)組是在界面一加載就顯示出來(lái)的,所以傳遞過(guò)來(lái)的數(shù)組方法和將值賦值到對(duì)應(yīng)的組件中都要卸載鉤子函數(shù)中
created() {
// 從question-edit界面接收到carryCurrentRowCode數(shù)組
this.carryCurrentRowCode = this.$route.query.carryCurrentRowCode;
}3.傳遞過(guò)來(lái)的數(shù)組是拿到了,具體將一個(gè)值賦值到組件中舉一個(gè)例子:用試題編號(hào)舉例serial: "",
// 試題編號(hào)
this.i_number = this.carryCurrentRowCode.serial;同樣將賦值寫到鉤子函數(shù)中。
解釋i_number
是組件el-input試題編號(hào)v-model="i_number"
注意:
如果不是兄弟接收界面的命名命名好了,可以減少這個(gè)組件賦值步驟,直接在組件的v-model中等于接收數(shù)組點(diǎn)serial
數(shù)組賦值踩過(guò)的坑
最近需要在Vue當(dāng)中完成動(dòng)態(tài)賦值數(shù)組操作,從服務(wù)器拿到數(shù)據(jù)后,刷新數(shù)組中的數(shù)據(jù),但是發(fā)現(xiàn)無(wú)論使用什么方法都不行,通過(guò)打log,發(fā)現(xiàn)數(shù)據(jù)在這里就無(wú)法向下執(zhí)行,而且也沒有報(bào)任何的異常,最終問(wèn)題解決,在這里做個(gè)記錄。
Vue中的數(shù)組賦值和在普通的JS中賦值還是有所區(qū)別。
以下操作可以引起界面刷新:push,pop ,unshift,shift,reverse,sort,splice
以下操作不會(huì)引起界面刷新:slice,concat ,filter
還有一點(diǎn)需要注意:
如果通過(guò)直接賦值或者改變長(zhǎng)度是無(wú)法讓界面刷新的。
(1)通過(guò)索引直接設(shè)置項(xiàng)。
(2)修改數(shù)組長(zhǎng)度,mylist.length=3
第二點(diǎn),在從服務(wù)器中獲取數(shù)據(jù)后賦值需要注意一個(gè)問(wèn)題:主體對(duì)象的改變。
比如在使用axios對(duì)象發(fā)起請(qǐng)求后,在返回方法中處理數(shù)據(jù)需要注意:
注意在axios的then方法中調(diào)用對(duì)象時(shí),不能使用this對(duì)象,因?yàn)榇藭r(shí)this對(duì)象指的是axios實(shí)例,所以通過(guò)this是獲取不到vue實(shí)例中的data數(shù)據(jù)的,必須在外界使用一個(gè)值來(lái)指向vue實(shí)例對(duì)象,通過(guò)這個(gè)外部對(duì)象來(lái)賦值,才是正確的。
var self;
created:function(){
self = this;
},
mouted:function(){ ? ? ? ?
axios.create({
? ? ? ? baseURL: 'url',
? ? ? ? timeout: 10000,
? ? ? ? headers: { 'Content-Type': 'application/json' }
? ? ? }).get('xxxxxxxxxx')
? ? ? ? ? .then(function(response){
? ? ? ? ? ? if(response.data.dataList.length>0){
? ? ? ? ? ? ? var datalist = response.data.dataList;
? ? ? ? ? ? ? for(var i=0;i<datalist.length;i++){
? ? ? ? ? ? ? ? self.DeviceTypeList.push({devicetype:datalist[i].name});
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? })
? ? ? ? ? .catch(function(error){
? ? ? ? ? ? console.log(JSON.stringify(error));
? ? ? ? ? });
}以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue如何整合mavon-editor編輯器(markdown編輯和預(yù)覽)
這篇文章主要介紹了Vue整合mavon-editor編輯器(markdown編輯和預(yù)覽)的相關(guān)知識(shí),mavon-editor是目前比較主流的markdown編輯器,重點(diǎn)介紹它的使用方法,需要的朋友可以參考下2022-10-10
學(xué)習(xí)筆記之Vuex的用法總結(jié)(Vue狀態(tài)管理)
這篇文章主要介紹了學(xué)習(xí)筆記之Vuex的用法總結(jié)(Vue狀態(tài)管理),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
解決vue頁(yè)面刷新vuex中state數(shù)據(jù)丟失的問(wèn)題
這篇文章介紹了解決vue頁(yè)面刷新vuex中state數(shù)據(jù)丟失的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
vue項(xiàng)目history模式下部署子路由跳轉(zhuǎn)失敗的解決
這篇文章主要介紹了vue項(xiàng)目history模式下部署子路由跳轉(zhuǎn)失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
vue 中 get / delete 傳遞數(shù)組參數(shù)方法
這篇文章主要介紹了vue 中 get / delete 傳遞數(shù)組參數(shù)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
element自定義 多文件上傳 觸發(fā)多次on-change問(wèn)題
這篇文章主要介紹了element自定義 多文件上傳 觸發(fā)多次on-change問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Vue中失去焦點(diǎn)時(shí)所觸發(fā)的事件問(wèn)題
這篇文章主要介紹了Vue中失去焦點(diǎn)時(shí)所觸發(fā)的事件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06

