Vue-2:生命周期&使用vue實(shí)現(xiàn)對數(shù)組的增刪改查

一色罚、使用vue實(shí)現(xiàn)對數(shù)組的增刪改查
1.定義一個學(xué)生數(shù)組

students:[
                    {
                        no:'1001',
                        name:'劉德華',
                        age:20,
                        sex:'男'
                    },
                    {
                        no:'1002',
                        name:'周杰倫',
                        age:22,
                        sex:'男'
                    },
                    {
                        no:'1003',
                        name:'蔡依林',
                        age:24,
                        sex:'女'
                    }
                ],
//是否顯示編輯窗口
                showEdit:false,
                //是否是添加狀態(tài)
                isAdd:true,
                //學(xué)生對象
                student:{
                    no:'',
                    name:'',
                    age:0,
                    sex:''
                }
            },

2.添加方法

addStudent(){
                    //將表單數(shù)據(jù)展開后真仲,返回一個新的對象
                    let stu = {...this.student} 
                    //將學(xué)生對象添加到學(xué)生數(shù)組中
                    this.students.push(stu)
                    //調(diào)用清空表單數(shù)據(jù)的方法
                    this.clear()
                },

3.清空表單數(shù)據(jù)的方法

clear(){
                    this.student = {
                        no:'',
                        name:'',
                        age:0,
                        sex:''
                    }
                },

4.關(guān)閉編輯窗口

close(){
                    this.showEdit = false
                    this.isAdd = true
                    this.clear()
                },

5.根據(jù)學(xué)號查詢學(xué)生對象

getOne(no){
                    //打開編輯窗口
                    this.showEdit = true
                    //編輯窗口是修改狀態(tài)
                    this.isAdd = false
                    //根據(jù)學(xué)號查詢學(xué)生對象
                    let stu = this.students.find(s=>s.no===no)
                    this.student = {...stu}
                },

6.修改學(xué)生信息

updateStudent(){
                    //根據(jù)學(xué)號,找到原始數(shù)組中指定的學(xué)生對象
                    let stu = this.students.find(s=>s.no===this.student.no)
                    //修改數(shù)組里面指定學(xué)生對象的屬性
                    stu.name = this.student.name
                    stu.age = this.student.age
                    stu.sex = this.student.sex
                },

7.刪除學(xué)生

delStudent(index){
                    if(confirm('確定刪除嗎漏健?')){
                        this.students.splice(index,1)
                    }
                }

二嚎货、vue的生命周期

// 指定掛載的容器
            // el:'#app',
            // 指定模板(如果有模板,vue會渲染整個模板蔫浆;如果沒有模板殖属,vue會將el里面的所有內(nèi)容當(dāng)成模板使用)
            // template:'<div><h2>{{name}}</h2><h2>{{age}}</h2></div>',
            //數(shù)據(jù)
methods: {
                destroy(){
                    // 調(diào)用銷毀當(dāng)前Vue實(shí)例的方法
                    // 注意:銷毀后,當(dāng)前Vue實(shí)例對象還在瓦盛,只是該對象不能在重新掛載頁面了
                    this.$destroy()
                }
            },

3.創(chuàng)建之前(數(shù)據(jù)初始化之前)

beforeCreate() {
                console.log('-----------------beforeCreate------------------');
                // 這個生命周期函數(shù)洗显,基本上不用外潜,除非要設(shè)置Vue實(shí)例的內(nèi)容
                this.__proto__.fn = function(){
                    alert('哈哈!')
                }

                //Vue實(shí)例挠唆,已經(jīng)創(chuàng)建完成
                console.log(this);
                //Vue實(shí)例身上的數(shù)據(jù)還沒有初始化完成
                console.log(this.name+' '+this.age);
            },

4.創(chuàng)建完成(數(shù)據(jù)初始化完成)***

created() {
                console.log('-----------------created------------------');
                // 這個生命周期函數(shù)处窥,通常用于初始化Vue管理的數(shù)據(jù),比如:發(fā)生ajax請求會放在這里玄组。
                console.log(this);
                console.log(this.name+' '+this.age);
            },

5.掛載之前(模板已經(jīng)成功渲染滔驾,但是還沒有將內(nèi)容掛載到頁面中)

beforeMount() {
                console.log('-----------------beforeMount------------------');
                // 這個生命周期函數(shù),基本上不用
                console.log(this.$el);
                // document.querySelector('#name').innerHTML = "哈哈"
            },

6.掛載完成(模板已經(jīng)成功渲染巧勤,并且已經(jīng)將模板內(nèi)容掛載到了頁面)***

mounted() {
                console.log('-----------------mounted------------------');
                // 這個生命周期函數(shù)嵌灰,通常用于對DOM的重新改動
                console.log(this.$el);
                // document.querySelector('#name').innerHTML = "呵呵"
            },

7.修改之前(數(shù)據(jù)已經(jīng)改了,只是還沒有重新掛載頁面)

beforeUpdate() {
                console.log('-----------------beforeUpdate------------------');
                console.log(this.name+' '+this.age);
                console.log(this.$el);
            },

8.修改完成(數(shù)據(jù)已經(jīng)改了颅悉,頁面也已經(jīng)重新掛載)

updated() {
                console.log('-----------------updated------------------');
                console.log(this.name+' '+this.age);
                console.log(this.$el);
            },

9.銷毀之前***

beforeDestroy() {
                console.log('-----------------beforeDestroy------------------');
                // 這個生命周期函數(shù)沽瞭,會用的多一些
                console.log(this);
                // 對數(shù)據(jù)做任何的修改,都不會重新渲染到頁面
                this.name = '王五'
            },

10.銷毀完成

destroyed() {
                console.log('-----------------destroyed------------------');
                // 這個生命周期函數(shù)剩瓶,幾乎不用
                console.log(this);
                this.name = '王五'
            },
  1.  通過vue實(shí)例的$mount方法驹溃,手動掛載容器
       公共el選項(xiàng)指定掛載容器,當(dāng)模板渲染成功后延曙,會離開掛載頁面
       $mount方法的好處是豌鹤,可以自行選擇掛載的時機(jī)。
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末枝缔,一起剝皮案震驚了整個濱河市布疙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌愿卸,老刑警劉巖灵临,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異趴荸,居然都是意外死亡儒溉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門发钝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顿涣,“玉大人,你說我怎么就攤上這事酝豪√伪” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵孵淘,是天一觀的道長蒲障。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么晌涕? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮痛悯,結(jié)果婚禮上余黎,老公的妹妹穿的比我還像新娘。我一直安慰自己载萌,他們只是感情好惧财,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扭仁,像睡著了一般垮衷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乖坠,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天搀突,我揣著相機(jī)與錄音,去河邊找鬼熊泵。 笑死仰迁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的顽分。 我是一名探鬼主播徐许,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卒蘸!你這毒婦竟也來了雌隅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缸沃,失蹤者是張志新(化名)和其女友劉穎恰起,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體和泌,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡村缸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了武氓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梯皿。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖县恕,靈堂內(nèi)的尸體忽然破棺而出东羹,到底是詐尸還是另有隱情,我是刑警寧澤忠烛,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布属提,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏冤议。R本人自食惡果不足惜斟薇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恕酸。 院中可真熱鬧堪滨,春花似錦、人聲如沸蕊温。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽义矛。三九已至发笔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凉翻,已是汗流浹背了讨。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留制轰,地道東北人量蕊。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像艇挨,于是被迫代替她去往敵國和親残炮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容