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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[Vue.js] Vue.js 起步

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-1 23:08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Vue.js 起步
每个 Vue 应用都需要通过实例化 Vue 来实现。
语法格式如下:
  1. var vm = new Vue({
    7 j* x; k) k% B& j
  2.   // 选项' c5 E- m9 H/ h
  3. })
复制代码
接下来让我们通过实例来看下 Vue 构造器中需要哪些内容:
  1. <div id="vue_det"># ^2 f) @* @4 P: g8 s
  2.     <h1>site : {{site}}</h1>
    0 _" F# R; F9 {7 M# e; }& ?
  3.     <h1>url : {{url}}</h1>* [7 Z) x2 Q4 c. c+ h4 W* }2 _
  4.     <h1>{{details()}}</h1>4 F$ i1 q7 m. v! h) T& g
  5. </div>( l3 M6 Z7 \2 ^/ Z" C
  6. <script type="text/javascript">9 H% s, u9 c! B; B
  7.     var vm = new Vue({8 u$ F) z; c+ @: ^! [+ h
  8.         el: '#vue_det',
    , F) C# m0 C' v
  9.         data: {2 p; |5 @& v  R8 p( E
  10.             site: "菜鸟教程",* }+ s) y( o8 o
  11.             url: "www.runoob.com",
    7 v0 f, W  m- d8 d! O) M5 P
  12.             alexa: "10000"
    1 V/ W2 c8 n5 |: _& I+ t/ e
  13.         },
    8 T, L: _' y  I
  14.         methods: {
    2 z% \# H( E; ]" c" F4 m, J, v
  15.             details: function() {
    ' T2 S  C# Q1 q1 h
  16.                 return  this.site + " - 学的不仅是技术,更是梦想!";7 q8 G' r2 d4 i0 f; b
  17.             }8 G1 D* F/ f/ H* S
  18.         }- q' Z  [7 k# O! K
  19.     })- Q5 c6 i4 M+ M
  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">
    6 D0 K8 }8 B; g! X
  2.     <h1>site : {{site}}</h1>$ A! _9 E! U+ I1 T' W2 }% w! j0 W
  3.     <h1>url : {{url}}</h1>2 O, g; G. A6 u$ l
  4.     <h1>{{details()}}</h1>0 C) X9 Z! c: G) X- e# D' [
  5. </div>
复制代码
当一个 Vue 实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性。当这些属性的值发生改变时,html 视图将也会产生相应的变化。
  1. <div id="vue_det">3 R( N- O' C3 u5 ^9 S+ Z8 y' ?' Y0 l
  2.     <h1>site : {{site}}</h1>
    , x' R) f1 z6 y3 v
  3.     <h1>url : {{url}}</h1>
    . k6 [! ]5 @& ]8 w7 {1 Y
  4.     <h1>Alexa : {{alexa}}</h1>" c2 a4 @. ~/ o' |. K- E7 [
  5. </div>
      U! ^: ^! ]. v! A
  6. <script type="text/javascript">' P( w) j' m; ?" v) C% j+ C
  7. // 我们的数据对象
    ! r! s% o- |& O0 z: j8 q+ R
  8. var data = { site: "菜鸟教程", url: "www.runoob.com", alexa: 10000}
    " u+ s9 M' p# r* v. i
  9. var vm = new Vue({
    : i# F; B' ^7 _9 b3 q( Y% w# W
  10.     el: '#vue_det',. w* C1 y- H0 I' s1 I8 {7 q1 U
  11.     data: data
    0 |% @/ t# Z1 W) C2 G
  12. })2 X, w) I; P+ P  s) W9 t1 T5 V
  13. // 它们引用相同的对象!4 Z! v9 F- R' J2 l' M' X
  14. document.write(vm.a === data.a) // true
    4 E+ o) s: g5 I$ O: g
  15. document.write("<br>")6 k2 B- N' r, z2 l$ n
  16. // 设置属性也会影响到原始数据. \) J9 ^1 I0 {9 `' ]
  17. vm.site = "Runoob"8 `3 s: S) T" C- ^8 G& y" i, z" ^$ S
  18. document.write(data.site + "<br>") // Runoob: H) a, r  g  `" ^! x: ?/ }5 q" t
  19. , ]1 Y# Z( d9 B! R& k
  20. // ……反之亦然
    " b8 O' F# ~9 N: k
  21. data.alexa = 1234+ q$ f5 D3 e% h1 @9 ^8 m5 _
  22. document.write(vm.alexa) // 1234$ q7 B% U9 ^( d' f- b: W
  23. </script>
复制代码
除了数据属性,Vue 实例还提供了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来。例如:
  1. <div id="vue_det">
    ( K. X- G( A9 g; Y* N
  2.     <h1>site : {{site}}</h1>7 Y+ C5 z3 a& |0 v  I( k6 G
  3.     <h1>url : {{url}}</h1>
    . I, A. H: y: W: D1 F
  4.     <h1>Alexa : {{alexa}}</h1>8 _* C. }2 @2 G0 D6 \; z! ~1 h9 d
  5. </div>; K" O9 E& f! ~$ \5 F' ]7 D2 I
  6. <script type="text/javascript">
    $ m/ m* e7 @6 P4 Z
  7. // 我们的数据对象6 |: i. F8 \( \+ E' r, v4 l$ F5 w
  8. var data = { site: "菜鸟教程", url: "www.runoob.com", alexa: 10000}
    5 Q/ z/ b7 \+ g9 u% f  u
  9. var vm = new Vue({6 x+ Q: E3 Z3 b3 k
  10.     el: '#vue_det',
    . i+ l9 Q! {) A% Y% P
  11.     data: data/ t0 ]) n$ E+ k& I- O% s) p
  12. })) B) H6 {& ]5 j3 L  I

  13. 6 R( q3 G, V) n
  14. document.write(vm.$data === data) // true9 z3 W6 ~4 A/ ~9 h2 R
  15. document.write("<br>") // true
    # {9 h  F/ G9 h( x5 f. E  S4 P% e
  16. document.write(vm.$el === document.getElementById('vue_det')) // true1 e7 j7 ]: F& _' b- H' ~) X
  17. </script>
复制代码

1 l- V; R$ g2 N* j. P1 e4 t+ w3 w$ n' h1 p; Z# D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-19 22:44 , Processed in 0.051695 second(s), 19 queries .

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