vue2.x入門

參考資料

前言

最近項目需求胁澳,其中要做一個類似日歷的東西竖瘾,正好不是很忙桃煎,就邊看vue文檔邊做醋拧。想學(xué)習(xí)vue的同學(xué)卿嘲,可以參考下颂斜。日歷插件

正文

Vue是一個輕量級的mvvm框架。
官方倉庫主要有腔寡,vue焚鲜、vuexvue-routervue-resource(不久的將來會停止維護(hù))放前,分別負(fù)責(zé)組件化開發(fā)忿磅、狀態(tài)管理、路由控制和AJAX凭语,我下面就簡單介紹這幾個的關(guān)系葱她。

1.vue

<div id="app">
  {{ message }}
</div>
var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  },
  methods:{
    init(){
    //code....
    }
}
})

以上就是一個簡單的vue模版和vue實例,似扔,el是掛載元素吨些,data是數(shù)據(jù)搓谆,vue實例只監(jiān)聽data里的數(shù)據(jù)變化,模版內(nèi)的{{}}是界定符豪墅,會渲染data里的數(shù)據(jù)泉手。接觸過模版引擎的同學(xué),可能見過類似的寫法偶器,比如{!! !!}斩萌、<% %>等。

1.1 編寫組件

全局組件:

// 注冊
Vue.component('my-component', {
  template: '<div>A custom component!</div>'
})
// 創(chuàng)建根實例
new Vue({
  el: '#example'
})

局部組件:

var Child = {
  template: '<div>A custom component!</div>'
}
new Vue({
  // ...
  components: {
    // <my-component> 將只在父模板可用
    'my-component': Child
  }
})

我暫時用的是局部組件屏轰,組件的template寫復(fù)雜的html時換行用加轉(zhuǎn)義符 \ 颊郎。

//定義組件 - 頂部組件
        var clheader = {
            template: '\
          <div class="cl-header">\
            <span class="cl-year" id="clyear" v-cloak>{{year}}年</span>\
            <ul>\
              <li>日</li><li>一</li> <li>二</li> <li>三</li><li>四</li><li>五</li><li>六</li>\
            </ul>\
          </div>\
            ',
            data(){
                return {
                    a: 1
                }
            },
            computed: {
                year: function() {
                    return this.$store.state.year;
                },
                show: function() {
                    return !this.$store.state.showfooter;
                }
            }
        };

我上面定義了一個頭部組件,主要組件的data必須要寫成函數(shù)形式霎苗,具體使用的時候像下面這樣姆吭,是一個自定義標(biāo)簽,暫時不用在意router-view標(biāo)簽(在講router的時候會講):


<div class="cl" id="cl">
    <clheader></clheader>
        <keep-alive>
            <router-view></router-view>
        </keep-alive>
    <clfooter></clfooter>
</div>

2.vuex

當(dāng)我們編寫很多組件的時候唁盏,組件和組件之間的通信就會變得很麻煩内狸,這時候就需要vuex了,使用vuex來創(chuàng)建一個倉庫升敲。具體用法查看文檔答倡。

var store = new Vuex.Store({
     state: {
          year: 2016,
          today: {
              year: 2016,
              month: 1,
              date: 1,
              day: 1
          },
          listarr: [],
          upcount: 0, //向上翻頁次數(shù),
          showfooter: false,
          selectedDate: [] //所選擇的日期
    },
    mutations: {
        goup: function(state) {
          state.upcount++;
        }
     }
})

state里就是存儲原先實例和組件的data里的變量,共享的一些數(shù)據(jù)都存放在這里驴党,組件內(nèi)可以通過調(diào)用this.$store.state.year訪問數(shù)據(jù)瘪撇,組件無法直接修改store里的數(shù)據(jù),要先將store注入到實例或組件中港庄,這樣實例或組件中倔既,可以通過`this.$store.commit('goup',args)觸發(fā)mutations里的方法來修改公用的數(shù)據(jù),數(shù)據(jù)一旦被更改鹏氧,其余組件也會相應(yīng)作出變化渤涌。

3.vue-router

單頁面應(yīng)用中最重要的一部分,可能就是路由了把还。
主要是兩個標(biāo)簽实蓬,router-view和router-link。router-view是一個視圖容器吊履,router-link類似于a標(biāo)簽安皱,用作跳轉(zhuǎn)視圖,具體用法可以查看文檔艇炎。

//設(shè)置路由
var routes = [
    {
        path: '/',
        component: calendar
    }, {
        path: '/manage/:year/:month/:date',
        component: clmanage
    }
];

//路由實例
var router = new VueRouter({
    routes: routes
});

上面是我寫的兩個路由酌伊,對應(yīng)的組件會渲染到router-view里。默認(rèn)情況下缀踪,vue-router是hash模式居砖,訪問時url前面會有#符號虹脯。如果你切換成html5 的histroy模式,就是一般網(wǎng)頁的url奏候,但這需要服務(wù)器做一些配置循集,因為服務(wù)器會先去走后臺的路由,匹配不到就會報錯鼻由。

4.AJAX

掌握上面的三樣暇榴,你已經(jīng)可以寫出一個簡單的SPA靜態(tài)頁面厚棵,現(xiàn)在需要靠ajax來獲取后臺傳過來的數(shù)據(jù)來生成一個動態(tài)頁面了蕉世。

vue官方考慮到維護(hù)成本,原先推薦的vue-resource將停止維護(hù)婆硬,已經(jīng)使用的還可以繼續(xù)使用『萸幔現(xiàn)在推薦的是 axiosGit項目首頁),注意axios是基于ES6Promise對象設(shè)計的彬犯,所以如果你的瀏覽器不支持Promise可能需要polyfill向楼。當(dāng)然你也可以使用jQuery的ajax,萬能的jQuery :)谐区。

ES6的Promise可以很好的處理異步回調(diào)湖蜕,通過.then的鏈?zhǔn)綄懛ǎ苊庖酝舐牡菇鹱炙降倪f歸回調(diào)寫法宋列。尤其是以下這種方法昭抒,在一些特殊的場景下會很驚艷。

promise.all([promise1, promise2])//將多個promise合并成一個新promise來處理
  .then(function(results){
    ...//處理結(jié)果
  })
  .catch(function(error){
    console.log(error);
  });

axios支持的請求如下:

  • axios.request(config)
  • axios.get(url[, config])
  • axios.delete(url[, config])
  • axios.head(url[, config])
  • axios.post(url[, data[, config]])
  • axios.put(url[, data[, config]])
  • axios.patch(url[, data[, config]])

我本人用的最多的還是get和post請求炼杖,如果你后端是restful風(fēng)格的接口的話灭返,那就會用到put、delete等坤邪。

結(jié)語

以上就是vue“全家桶”的簡單使用熙含,希望對需要的同學(xué)有幫助。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末艇纺,一起剝皮案震驚了整個濱河市怎静,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌黔衡,老刑警劉巖蚓聘,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異员帮,居然都是意外死亡或粮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門捞高,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氯材,“玉大人渣锦,你說我怎么就攤上這事∏庀” “怎么了袋毙?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長冗尤。 經(jīng)常有香客問我听盖,道長,這世上最難降的妖魔是什么裂七? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任皆看,我火速辦了婚禮,結(jié)果婚禮上背零,老公的妹妹穿的比我還像新娘腰吟。我一直安慰自己,他們只是感情好徙瓶,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布毛雇。 她就那樣靜靜地躺著,像睡著了一般侦镇。 火紅的嫁衣襯著肌膚如雪灵疮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天壳繁,我揣著相機與錄音震捣,去河邊找鬼。 笑死氮趋,一個胖子當(dāng)著我的面吹牛伍派,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剩胁,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诉植,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了昵观?” 一聲冷哼從身側(cè)響起晾腔,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啊犬,沒想到半個月后灼擂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡觉至,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年剔应,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡峻贮,死狀恐怖席怪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纤控,我是刑警寧澤挂捻,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站船万,受9級特大地震影響刻撒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耿导,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一声怔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碎节,春花似錦捧搞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽介粘。三九已至殖氏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間姻采,已是汗流浹背雅采。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留慨亲,地道東北人婚瓜。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像刑棵,于是被迫代替她去往敵國和親巴刻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

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

  • 作者:威威(滬江前端開發(fā)工程師)本文原創(chuàng)蛉签,轉(zhuǎn)載請注明作者及出處胡陪。 背景 最近, 產(chǎn)品同學(xué)一如往常笑嘻嘻的遞來需求文...
    iKcamp閱讀 3,251評論 0 33
  • “敬這個他媽的城市碍舍!”他扔下手中的啤酒罐柠座,跳了下去……當(dāng)他在一片白光中醒來,看到的是寬敞明亮的三室一廳片橡,而她正坐在...
    石不時放松一下閱讀 296評論 0 2
  • 最近工作越來越迷茫了妈经,忙不到個錢,也忙不出個名堂出來,還是個單身吹泡,真是醉了
    下雨了收衣服閱讀 102評論 0 1
  • 水流過的地方录煤, 帶來的是清涼, 留下的是風(fēng)景荞胡。 ……
    世說興宇閱讀 225評論 0 2
  • 今年是我在現(xiàn)在的公司第五個年頭泪漂,從懵懵懂懂的職場小白到現(xiàn)在擔(dān)任部門主管廊营,雖然事業(yè)上算不上大成就,但在職場中走的...
    禾苗青青閱讀 9,275評論 34 227