vue2.0學(xué)習(xí)記錄

持續(xù)更新中

看了一段時間的視頻,即便是大火的現(xiàn)在睡扬,講vue的視頻還是那么不盡如人意谦炬,還是按照文檔學(xué)吧悦屏,順序知乎和簡書里都有的,我也就再貼一次vue學(xué)習(xí)順序,暫時覺得還不錯吧寺,一點一點跟著做吧窜管。
那么正文來了,在跟著文檔上敲各種小demo和自己YY出來的demo的時候會遇到什么呢稚机?我把我遇到的問題和解決方法都羅列出來幕帆,記錄這段路程。

一赖条、跟隨官網(wǎng)教程敲

  1. 條件渲染
    問題描述:在條件渲染中失乾,寫完這段代碼運行后,怎么刷新都是YES和NO都存在著;
  <div v-if="Math.random() > 0.5">
        Yes
  </div>
  <div v-else>NO</div>

解決方案:創(chuàng)建個Vue實例纬乍,就可以了;

 <div id="app">
  <div v-if="Math.random() > 0.5">
        Yes
  </div>
  <div v-else>NO</div>
 </div>
<script >
  var vm = new Vue({
      el : "#app"
  })
</script>
  1. key值控制元素是否重用
    完整示例如下:
<div id="example">
    <template v-if="loginTyoe === 'userName'">
          <lable>username</lable>
          <input  type="text" placeholder="Enter your userName" key="userName"/>
    </template>
    <template v-else>
          <lable>email</lable>
          <input  type="text" placeholder="Enter your email" key="email"/>
    </template>
    <button @click="toggle()">toggle</button>
</div>
<script>
     var vm = new Vue({
        el : "#example",
        data : {
                loginType : "userName"
          },
        methods : {
                toggle : function(){
                      this.loginType = this.loginType === "userName" ? "email" : "userName";
                 }
        }
     })
</script>
  1. 方法事件處理器
    問題描述:在Vue中使用v-on質(zhì)量添加點擊事件的過程中碱茁,執(zhí)行函數(shù)直接寫函數(shù)名可以獲取鼠標(biāo)事件如@click="fn",而函數(shù)名加括號的形式仿贬,卻獲取不到鼠標(biāo)事件如@click="fn()"纽竣;
<div id="app">
    <button @click="even">點我彈東西</button>
</div>
<script src="lib/js/vue.min.js"></script>
<script src="lib/js/vue-resource.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            message : "Vue.js"
        },
        methods : {
            even : function(e){
                alert("Hello" + this.message);
                if(e){
                    alert(e.target.tagName);
                }
            }
        }
    })

往下看就知道了,在Vue中,提供了一個$event的特殊變量在傳遞原生的事件對象蜓氨;
如果對jq有了解的話聋袋,在$.ajax請求數(shù)據(jù)后,較多的需求是拼接DOM元素并插入到需求的DOA節(jié)點中穴吹,有的時候需要給其中的某些元素添加事件幽勒,有一種方式就是在拼接的時候把點擊等需要執(zhí)行的函數(shù)也拼接進(jìn)去;如果同時需要得到被電擊的元素的話可能就需要獲取鼠標(biāo)事件對象然后再去各種操作港令;

上面的一段文字可以總結(jié)成這樣幾行代碼:
$("<li onclick="test(this)">data</li>").appendTo("body");
function test(){
  do someting......
}

那么總結(jié)一下啥容,在通過v-on綁定事件的時候,是不能傳遞this的顷霹,以點擊事件為例咪惠,如果需要獲取這個被點擊元素就需要通過獲取鼠標(biāo)事件來間接獲取,這時我們可以這樣寫

<button @click="fn($event)">點擊</button>
在Vue的實例中泼返,fn這個函數(shù)內(nèi)可以通過接受參數(shù)的方式獲取到鼠標(biāo)事件了
  1. 組件
    問題描述:這個問題特別的唬人硝逢,我想了好幾分鐘,后來才發(fā)現(xiàn)是被先入為主的概念限制的思維(說難聽點就是自己太蠢了绅喉,哈哈)
<div id="app">
        <test1></test1>
        <test2></test2>
        <test3></test3>
</div>
<script>
      var info = { count : 0 };
      //注冊全局組件渠鸽,當(dāng)然局部也行
      Vue.component("test1",{
          template : "<button @click='count += 1'>{{count}}</button>",
          data : function () {
                  return info;
          }
      });
      Vue.component("test2",{
          template : "<button @click='count += 1'>{{count}}</button>",
          data : function () {
                  return info;
          }
      });
      Vue.component("test3",{
          template : "<button @click='count += 1'>{{count}}</button>",
          data : function () {
                  return info;
          }
      });
      new Vue({
          el : "#app"
      })
</script>

上述代碼的結(jié)果就是點擊按鈕加1,這個沒問題柴罐,問題出在官網(wǎng)解釋的這句話

由于三個組件實例共享的是同一個對象徽缚,因此增加一個計數(shù)器,就會增加全部革屠!嗯凿试。讓我們通過改為返回一個全新的數(shù)據(jù)對象,來解決下這個問題:   
data: function () {
  return {
    count: 0
  }
}

我只能說似芝,這個‘嗯‘字很精髓那婉,讓我一時沒有反應(yīng)過來,導(dǎo)致想了半天原因是什么党瓮。详炬。。
結(jié)果一句話就能說清楚——第二個組件里的count不再是info里的count了寞奸,我去了我是不是很蠢呛谜。。枪萄。
2017年8月27日

  1. 單個slot
    問題描述:官網(wǎng)代碼補全
<div id="app">
    <h2>我是父組件的標(biāo)題</h2>
    <my-component>
        <p>這是一些初始的內(nèi)容</p>
        <p>這是一些更多初始的內(nèi)容</p>
    </my-component>
</div>
<script src="lib/js/vue.min.js"></script>
<script src="lib/js/vue-resource.js"></script>
<script>
    Vue.component("my-component",{
        template : '<div><h2>我是子組件的標(biāo)題</h2>
                    <slot>只有在沒有分發(fā)內(nèi)容時才會顯示</slot></div>'
    })
    var vm = new Vue({
        el: "#app",
    })
</script>

最初在 <slot> 標(biāo)簽中的任何內(nèi)容隐岛,都被視為備用內(nèi)容。備用內(nèi)容在子組件作用域內(nèi)編譯瓷翻,并且只有在宿主元素為空聚凹,且沒有要插入的內(nèi)容時才顯示備用內(nèi)容割坠。
上述的這段話是官網(wǎng)的原文,按照我個人的理解妒牙,意思是指當(dāng)my-component這個自定義標(biāo)簽內(nèi)沒有內(nèi)容的時候韭脊,slot中的內(nèi)容才會顯示,如果有单旁,則不會顯示。
2017年8月27日22:37:09

  1. 異步組件
    問題描述:看官網(wǎng)的示例直接懵逼饥伊;
    解決辦法:Vue的異步組件;我就是按照這個上面說的理解的象浑,當(dāng)然了,里面涉及到了一些webpack的知識琅豆,如果不會也要好好看看愉豺,但還是得說寫的很不錯,值得借鑒(覺得這篇博客寫的不錯的就頂一下吧)茫因。

二蚪拦、學(xué)習(xí)Vue-Router

2017年8月29日00:01:07
懵逼中,我想靜靜
2017年8月29日23:47:00
找到了一個非常不錯的博客冻押,有文章有視頻驰贷,跟著學(xué)Vue感覺很棒,是一個很適合新手Vue學(xué)習(xí)的平臺洛巢,又從Vue cli新看了一次括袒,受益匪淺,會繼續(xù)跟下去稿茉;
不過從昨天開始換編輯器锹锰,一直被新編輯器支持Vue語法和高亮的配置搞的頭大,后來不得不換回熟悉的webstorm漓库,不然太耽誤時間了恃慧;
堅持是件很難的事情,但堅持下來了再回頭看看渺蒿,也就那么回事痢士,加油吧!
2017年8月30日23:37:17

三、Vue-Router總結(jié)

今天終于把路由這部分搞完了蘸嘶,感覺還可以良瞧,就是最近繃得太緊了,有點累训唱,明天一早總結(jié)下褥蚯。
2017年9月6日22:21:07
轉(zhuǎn)眼就快一個禮拜過去了,算是為了未來兩年做了些可能的鋪墊吧况增。同時也把jspang的vue視頻都學(xué)完了赞庶。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子歧强,更是在濱河造成了極大的恐慌澜薄,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摊册,死亡現(xiàn)場離奇詭異肤京,居然都是意外死亡,警方通過查閱死者的電腦和手機茅特,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門忘分,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人白修,你說我怎么就攤上這事妒峦。” “怎么了兵睛?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵肯骇,是天一觀的道長。 經(jīng)常有香客問我祖很,道長笛丙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任假颇,我火速辦了婚禮若债,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拆融。我一直安慰自己蠢琳,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布镜豹。 她就那樣靜靜地躺著傲须,像睡著了一般。 火紅的嫁衣襯著肌膚如雪趟脂。 梳的紋絲不亂的頭發(fā)上泰讽,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音昔期,去河邊找鬼已卸。 笑死,一個胖子當(dāng)著我的面吹牛硼一,可吹牛的內(nèi)容都是我干的累澡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼般贼,長吁一口氣:“原來是場噩夢啊……” “哼愧哟!你這毒婦竟也來了奥吩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蕊梧,失蹤者是張志新(化名)和其女友劉穎霞赫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肥矢,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡端衰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了甘改。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靴迫。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖楼誓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情名挥,我是刑警寧澤疟羹,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站禀倔,受9級特大地震影響榄融,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜救湖,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一愧杯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鞋既,春花似錦力九、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至陡舅,卻和暖如春抵乓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靶衍。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工灾炭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人颅眶。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓蜈出,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涛酗。 傳聞我的和親對象是個殘疾皇子掏缎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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