您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15146|回复: 0
打印 上一主题 下一主题

[Vue.js] Vue.js 起步

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-1 23:08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Vue.js 起步
每个 Vue 应用都需要通过实例化 Vue 来实现。
语法格式如下:
  1. var vm = new Vue({& D4 D# B8 w% Y+ ?
  2.   // 选项
    - T5 j5 r# R' A% d
  3. })
复制代码
接下来让我们通过实例来看下 Vue 构造器中需要哪些内容:
  1. <div id="vue_det">' h; e% |* z. c# z, L9 x! @
  2.     <h1>site : {{site}}</h1>
    7 T. f/ k! I2 f/ L. s
  3.     <h1>url : {{url}}</h1>
    0 ^) o+ R) b/ x6 e
  4.     <h1>{{details()}}</h1>! l8 ]% U* |. Y% M# y  y
  5. </div>" a3 I3 }2 G' F  R  r; |
  6. <script type="text/javascript">
    ) E# j2 E0 G5 |5 T8 ]- l) K
  7.     var vm = new Vue({
    6 i& @) m, p6 R9 w
  8.         el: '#vue_det',- g) T) j$ P0 ~' a
  9.         data: {
    - S' g* ~2 n4 F# E  g& w, ?
  10.             site: "菜鸟教程",0 X. c; P- v; W& P$ n
  11.             url: "www.runoob.com",
    % L0 M# O+ I% `) I1 i
  12.             alexa: "10000"
    , r1 N# O, {% I% F
  13.         },$ \% n  `1 [, I% C7 g
  14.         methods: {
    3 ?8 r# j: D) Q
  15.             details: function() {) L+ T/ U3 e" M
  16.                 return  this.site + " - 学的不仅是技术,更是梦想!";
    + f( U" u- N6 S9 K9 s
  17.             }7 D% p& x0 z. u2 d; W5 {: T* t
  18.         }! @9 [( z7 Z! l5 c8 i
  19.     })- A7 k/ g2 {3 p  E4 ^
  20. </script>
复制代码
可以看到在 Vue 构造器中有一个el 参数,它是 DOM 元素中的 id。在上面实例中 id 为 vue_det,在 div 元素中:
  1. <div id = "vue_det"></div>
复制代码
这意味着我们接下来的改动全部在以上指定的 div 内,div 外部不受影响。
接下来我们看看如何定义数据对象。
data 用于定义属性,实例中有三个属性分别为:site、url、alexa。
methods 用于定义的函数,可以通过 return 来返回函数值。
{{ }} 用于输出对象属性和函数返回值。
  1. <div id="vue_det">
    & q0 G, M7 n8 M; D) Y. c
  2.     <h1>site : {{site}}</h1>+ `9 t$ l6 Q+ Q5 V
  3.     <h1>url : {{url}}</h1>$ D- W7 x$ q. _* M6 k% a4 w8 z
  4.     <h1>{{details()}}</h1>7 |; |  x, k% F. _' r7 L. o
  5. </div>
复制代码
当一个 Vue 实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性。当这些属性的值发生改变时,html 视图将也会产生相应的变化。
  1. <div id="vue_det">' n4 u, y3 c! H* F' ?  g
  2.     <h1>site : {{site}}</h1>
    ! g( F. y  t. }; [' v
  3.     <h1>url : {{url}}</h1>7 H/ S. e$ u$ a0 K
  4.     <h1>Alexa : {{alexa}}</h1>; ]" K6 r0 c' _. C
  5. </div>
    3 P5 z% e5 l1 w7 J
  6. <script type="text/javascript">
    ) S) W/ [+ k# D3 {  s4 h
  7. // 我们的数据对象
      q, _; S' h9 o2 ~
  8. var data = { site: "菜鸟教程", url: "www.runoob.com", alexa: 10000}( f# @9 E) ]) k$ h! U
  9. var vm = new Vue({5 X  v! l7 K* \/ J  l0 P; E
  10.     el: '#vue_det',, g5 o0 T8 M; {0 [2 l) F1 Z: }
  11.     data: data
    9 E9 ?0 E; d' S2 i2 F: Q/ c
  12. })
    3 q$ C5 o7 H( A: k: x7 M
  13. // 它们引用相同的对象!% i5 m6 J# [6 }0 @9 ~& m
  14. document.write(vm.a === data.a) // true+ u& B. x) E2 v3 H7 Z1 `
  15. document.write("<br>")# [/ f" X! Q: o8 l
  16. // 设置属性也会影响到原始数据( l  i+ D- b/ }
  17. vm.site = "Runoob"' J) v$ {7 r1 g* b$ X
  18. document.write(data.site + "<br>") // Runoob
    & ^/ H3 `$ R8 M7 L- R# ^. Y

  19. ) M/ p4 P) `3 x
  20. // ……反之亦然9 j0 E0 W! q! M1 l& u
  21. data.alexa = 1234
    ; f; n, F' q% b/ e# ~0 x' a& A
  22. document.write(vm.alexa) // 12342 p/ ^) A0 G2 y6 D6 }1 Q) D  I
  23. </script>
复制代码
除了数据属性,Vue 实例还提供了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来。例如:
  1. <div id="vue_det">
    ( c! P4 }; z* e
  2.     <h1>site : {{site}}</h1>
    . ^. f+ z, a; F
  3.     <h1>url : {{url}}</h1>3 m2 M6 N$ A' D- ~, u
  4.     <h1>Alexa : {{alexa}}</h1>
    / X8 [4 N4 r  ]2 R
  5. </div>) @9 }" h# }# w1 y
  6. <script type="text/javascript">
    & a. S( ~7 C( @$ d% L  H
  7. // 我们的数据对象3 w/ ^) C3 m- C* J5 U5 q$ G
  8. var data = { site: "菜鸟教程", url: "www.runoob.com", alexa: 10000}# J) c. o$ t6 _; o' Q$ ?4 [
  9. var vm = new Vue({
    0 }. o( H: T/ i" q" d$ C7 H
  10.     el: '#vue_det',
    ; {! k. i$ k1 j
  11.     data: data# |" p# K7 |% Q, ~+ q  i
  12. })
    6 e- C, J2 I8 s2 B8 O- u

  13. 9 i  c3 ~1 V& [; y; n! C
  14. document.write(vm.$data === data) // true
    $ p9 Q) G0 B, ^: l$ n& |% ]
  15. document.write("<br>") // true
    8 A( W$ f- ]4 T0 X/ y" W
  16. document.write(vm.$el === document.getElementById('vue_det')) // true
    6 t8 L7 H* d7 s, Y6 p
  17. </script>
复制代码
( O+ m: M) m  @4 W

' V$ U% i5 X6 W* d6 x8 g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 12:40 , Processed in 0.065152 second(s), 20 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!