vue用法示例(三)

(1)V-on:click 函数 v-on : 可以简写成 @

<button v-on:click="reverseMessage">反转字符串</button>

<button @click="reverseMessage">反转字符串</button>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.net/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
    <p>{{ message }}</p>
    <button v-on:click="reverseMessage">反转字符串</button>
</div>
        
<script>
new Vue({
  el: '#app',
  data: {
    message: 'Runoob!'
  },
  methods: {
    reverseMessage: function () {
      this.message = this.message.split('').reverse().join('')
    }
  }
})
</script>
</body>
</html>

其实这个this并不是变量,也不用声明,因为它就是整个vue构造器的化身,你可以用this.变量名的方式,直接调用控制编辑 这个vue构造器内的一切变量属性等。作用就相当于我们python类里面的 self

(2)过滤器filter

{{ message | filterA | filterB }}

{{ message | filterA('arg1', 1+1) }} 带参数的过滤器

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.net/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  {{ message | capitalize }}  
</div>
        
<script>
new Vue({
  el: '#app',
  data: {
        message: 'runoob'
  },
  filters: {
    capitalize: function (value) {
      if (!value) return ''
      value = value.toString()
      return value.charAt(0).toUpperCase() + value.slice(1)
    }
  }
})
</script>
</body>
</html>

(3)Computer 计算

Computer methods就是用来存放各种js函数的那个vue构造器的属性之一。现在要学的这个computed和它几乎是一样的功能,一样的用法

methods 每次渲染刷新都会触发函数运行。

computed 则只会在检测到依赖的元素或变量发生变化时才会重新运行,其他时候都是使用缓存

computed 的特有默认属性 get子函数

computed: { site: { get: function () {return this.name + ' ' + this.url} } }
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.net/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
  <p>原始字符串: {{ message }}</p>
  <p>计算后反转字符串: {{ reversedMessage }}</p>
</div>

<script>
var vm = new Vue({
  el: '#app',
  data: {
    message: 'Runoob!'
  },
  computed: {
    // 计算属性的 getter
    reversedMessage: function () {
      // `this` 指向 vm 实例
      return this.message.split('').reverse().join('')
    }
  }
})
</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值