美文网首页
vue重新起航(一)

vue重新起航(一)

作者: 阿龙哟 | 来源:发表于2018-10-25 19:56 被阅读0次

1.声明和渲染

    <div id="app">
      {{message}}
    </div>

    var app = new Vue({
      el: '#app',
      data: {
        message: 'Hello zhengzha'
      }
    })

创建一个Vue实例,并挂载到id为app的标签上

el: ' ' 挂载Vue实例对象

data:Vue实例的数据全部存储在这里,是一个哈希

{{message}} data里面的message就用{{message}}来渲染的


2.绑定元素属性

  <div id="app2">
    <span v-bind:title="message">
      鼠标停留看到东西
    </span>
  </div>
  
  var app2 = new Vue({
      el: '#app2',
      data: {
        message: `页面加载于${new Date().toLocaleString()}`
      }
    })

v-bind:title='message' 将title属性和vue实例data里面的message相绑定


3.循环语句

    <div id="app3">
      <p v-if="seen">你能看到我吗</p>
    </div>

     var app3 = new Vue({
      el: '#app3',
      data: {
        seen: false/true
      }
    })

v-if true则出现,false则隐藏 seen 和data里面的seen对应

    <div id="app4">
      <ol>
        <li v-for="key in todos">
            {{key.text}}
        </li>
      </ol>
     </div>

    var app4 = new Vue({
      el: '#app4',
      data: {
        todos: [{
            text: '好好学习'
          },
          {
            text: '天天向上'
          },
          {
            text: '重新做人'
          }
        ]
      }
    })

v-for 循环遍历生成li标签,vue实例data里面有一个todos的数组,里面有三个哈希,用for in 遍历对象方式

4.处理用户输入,监听动作

  <div id="app5">
    <p>{{message}}</p>
    <button v-on:click='reverseMessage'>逆转消息</button>
  </div>

    var app5 = new Vue({
      el: '#app5',
      data: {
        message: "你好,孙陈龙"
      },
      methods: {
        reverseMessage: function () {
          this.message = this.message.split('').reverse().join('')
        } //()=>箭头函数导致this变化,指向不到message了
      }
    })

v-on 监听click事件,触发函数,在vue实例里面可以用this访问当前对象属性

tips:用了箭头函数形式,结果导致this指向改成window,慎重!


5.双向绑定 v-model


  <div id="app6">
    <p>{{message}}</p>
    <input v-model='message'>
  </div>

   var app6 = new Vue({
      el: '#app6',
      data: {
        message: 'hello China!'
      }
    })

经典 你变我也变

v-model : 实现表单输入和应用状态之间的双向绑定。

6.组件

  
  <div id="app7">
    <ol>
      <todo-item
        v-for='item in groceryList'
        v-bind:todo='item'
        v-bind:key="item.id"
      >
      </todo-item> 
    </ol>
  </div>

      Vue.component('todo-item', {
      props:['todo'],
      template: '<li>{{todo.text}}</li>'
    })

    var app7 = new Vue({
      el:'#app7',
      data:{
        groceryList:[
          {id:'0',text:'蔬菜'},
          {id:'1',text:'茄子'},
          {id:'2',text:'随便其他什么东西'}
        ]
      }
    })

Vue,component 创建一个组件,name为'todo-item',组件对象里面有一个props属性,表明接受父组件的变量名称,template模板就是组件长啥样

在HTML中直接以name为标签名插入

 <todo-item
        v-for='item in groceryList'   循环
        v-bind:todo='item' 将接受的todo和item绑定
        v-bind:key="item.id" 定义一个key用来加以标识
      >
 </todo-item> 

相关文章

  • vue重新起航(一)

    1.声明和渲染 创建一个Vue实例,并挂载到id为app的标签上 el: ' ' 挂载Vue实例对象 data:V...

  • Vue重新起航(四)

    事件处理 监听事件:用v-on 来监听DOM事件,并在触发时执行一些JS语句然而有很多操作逻辑很复杂,就不能把大量...

  • vue重新起航(三)

    class与style绑定 用v-bind来绑定class和style 对象语法 1.class active是否...

  • vue重新起航(二)

    创建实例: var vm = new Vue({ }) vue中数据是响应式的,一旦数据改变,视图将会产生相应的变...

  • development log day11

    假期结束,重新起航

  • 重新起航

    这次学习会的模式进行了大的整改,参加人员都是行政的同事们,以部门为主的分组。相比之前的学习模式,人数上大幅度的减少...

  • 重新起航

    没有付出,哪有收获。也许我是应该找到团队,历练自己。

  • 重新起航

    跌入谷底的疲惫 忧伤的夜独自垂泪 人性的荒凉吞噬着残月 淤泥里挣扎的莲 冲破一切阻力 绽放出生命最初的誓言 熬尽黎...

  • 重新起航。

    吴军老师有封回信讲,做事之前一定要想清自己的动机,以及对达到目标所需要付出的成本有个客观的评价,这样做事就不...

  • 重新起航

    有感于金陵塔罗牌个案 在我的心灵成长之路上,得益于朋友的帮助,家庭的支持,自己的坚持。认识金陵是加入应童老...

网友评论

      本文标题:vue重新起航(一)

      本文链接:https://www.haomeiwen.com/subject/oxbctqtx.html