zoukankan      html  css  js  c++  java
  • <三>computed 和事件的绑定

    1、计算属性computed和methods 的区别在于computed 优先使用缓存,methods实时更新,如果message变更,其他两个值也会变更。

     <body>
          <div id="app">
            <p>原始字符串: {{ message }}</p>
            <p>计算后反转字符串: {{ reversedMessage1() }}</p>
            <p>计算后反转字符串: {{ reversedMessage }}</p>
            
          </div>
        <script src="vue.js"></script>
        <script>
          var app = new Vue({
                              el: '#app',
                              data: {
                                message: 'Runoob!'
                              },
                              computed: {                        
                                reversedMessage: function () {                                               
                                  return this.message.split('').reverse().join('');
                                }
                              },
                              methods:{
                                reversedMessage1: function () {                            
                                  return this.message.split('').reverse().join('');
                                }
                              }
                        })
        </script>

    2、上面的例子是反转字段/方法依赖message,所以message一变更,其他两个也会变更。那如果反过来呢,那就要用到setter了。

     <body>
          <div id="app">      
              <div>{{ hello }}</div> 
              <div>{{ vu }}</div> 
          </div>
        <script src="vue.js"></script>
        <script>
          var app = new Vue({
                              el: '#app',
                              data: {
                                hello: '',
                                vu:''
                              },
                              computed: {                        
                                fullUrl:{
                                  get: function () {                                               
                                    return this.hello+' '+this.vu;
                                  },
                                  set:function(newvalue){
                                    var str = newvalue.split(' ');
                                    this.hello = str[0];
                                    this.vu = str[str.length - 1]
                                  }                                                     
                              }     
                            }                   
                        });
          app.fullUrl='hello vue';
        </script>

    3、v-on事件绑定

        <body>
          <div id="app">      
            <button v-on:click="showname('vue')">{{name}} {{time}}</button>
          </div>
        <script src="vue.js"></script>
        <script>
          var app = new Vue({
                              el: '#app',
                              data: {
                                name: '',
                                time:0
                              },
                              methods: {                        
                               showname:function(message){
                                   this.name=message;
                                   this.time=this.time+1;
                               }
                            }                   
                        });
       </script>

    按键修饰符   v-on:keyup.13  捕捉keycode为13的按键,vue提供了一些常用的按键别名

    <!-- 同上 -->
    <input v-on:keyup.enter="submit">
    <!-- 缩写语法 -->
    <input @keyup.enter="submit">
    
    .enter  
    .tab    
    .delete 
    .esc
    .space
    .up
    .down
    .left
    .right
    .ctrl
    .alt
    .shift
    .meta
  • 相关阅读:
    MVC模式 与 Model2模型 介绍
    通过Servlet获取初始化参数
    《算法竞赛入门经典》学习笔记 2.3 文件操作
    《C++ Primer Plus》学习笔记 2.1.1 main()函数
    Codeforces Round #359 (Div. 2) C. Robbers' watch 搜索
    Github Pages建立个人博客
    《算法竞赛入门经典》第一章 程序设计入门 习题
    《C++ Primer Plus》学习笔记 第1章 预备知识
    在C#代码中应用Log4Net(一)简单使用Log4Net
    NHibernate实例
  • 原文地址:https://www.cnblogs.com/choii/p/15633441.html
Copyright © 2011-2022 走看看