<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="dist/vue.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/vue-resource/1.3.4/vue-resource.min.js"></script>
<script src="dist/vuex.min.js"></script>
<style>
.mseeage{
width: 800px;
height: 60px;
float: right;
}
.answer{
width: 800px;
height: 60px;
float: left;
}
</style>
</head>
<body>
<div id="box">
<div v-for="item in $store.state.cartList" >
<p class="mseeage">{{ item.message }}<img src="images/tx1.jpg"></p>
<p class="answer"><img src="images/tx2.jpg">{{ item.answer}}</p>
</div>
<div><input v-model="message"><button id="save" @click="info()">發(fā)送</button></div>
</div>
<script>
const store = new Vuex.Store({
state:{
cartList:[]//是記錄用戶列表狀態(tài)
},
mutations:{
setTalk(state,info){
state.cartList.push(info)
}
}
})
var example1 = new Vue({
el: '#box',
data(){
return{
message:[],
answer:[]
}
},
methods:{
info(){
this.$http.get('http://www.tuling123.com/openapi/api?key=72d6117e0eef403c95c9aebe73a07e6a' + '&info=' + this.message)
.then(function (response) {
console.log(response.body.text);
this.answer = response.body.text;
store.commit('setTalk',{
message:this.message,
answer:this.answer,
});
});
}
},
store
})
</script>
</body>
</html>
有意思的問題~
剛想了一下,應用場景應該是要保留用戶的操作,刷新頁面后還原現(xiàn)場。如果能把要還原的組件內(nèi)部所有狀態(tài)保留到localStorage,應該就可以還原。
最傻的辦法需要在每個組件內(nèi)部單獨維護自己的變量和localStorage里的對應關系,這樣肯定可行但不靈活。
要通用的話,需要清楚vue是怎么獲取組件實例對象,以及對象內(nèi)部變量的存放路徑。這不會是個簡單的活,需要做很多抽象。
但兩種方法的思路都是一樣的:組件初始化時根據(jù)localStorage對組件變量賦值,監(jiān)聽變量變化并同步localStorage。
后來想到如果用vuex去管理這些需要還原的狀態(tài),實現(xiàn)起來會容易很多,但感覺如果不好好整理,會把vuex搞得很亂。。。
你要能完整的搞一套方案出來并落地的話一定會很出彩~
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。