1.计算属性(computed):主要是对原数据进行改造输出。改造输出:包括格式化数据(价格,日期),大小写转换,排序,添加符号
2.methods(methods):用于绑定html中的事件对应的方法
3.数据变化监听器(watch):主要用于监测data中的数据变化,让v-model生效
4.过滤器(filters):通常格式化字符,使用传值
5. 混入(mixins):用于减少代码污染、减少代码量、实现代码重用
6.扩展(extends)
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Vue入门之Helloworld</title>
6 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
7 </head>
8 <body>
9 <div id="app">
10 {{message}}
11 <div>价格: {{newPrice}}</div>
12 <div>数字: {{count}}</div>
13 <div><button @click="add(2)">add</button></div>
14 <div><input v-model="question"></div>
15 <div>过滤: {{filtera | filterA}}</div>
16 </div>
17
18 <script type="text/javascript">
19 // 额外临时加入时,用于显示日志
20 var addLog={
21 updated:function(){
22 console.log("数据放生变化,变化成"+this.count+".");
23 }
24 }
25
26 // 扩展
27 var extendObj ={
28 created: function(){
29 console.log("我是被扩展出来的");
30 }
31 }
32
33 // 实例化vue
34 var app = new Vue({
35 // 挂载实例
36 el:'#app',
37 // 页面数据初始化,字符,对象、数组
38 data:{
39 message: 'hello Vue!',
40 price: 100,
41 count: 100,
42 question: '',
43 filtera: 'abc'
44 },
45 // 计算属性:主要是对原数据进行改造输出。
46 // 改造输出:包括格式化数据(价格,日期),大小写转换,排序,添加符号
47 computed: {
48 newPrice () {
49 return '¥' + this.price + '元';
50 }
51 },
52 // 方法声明:用于绑定html中的方法
53 methods:{
54 add (num) {
55 this.count += num;
56 }
57 },
58 // data属性监听器, 作用v-model
59 watch: {
60 question(val, oldVal) {
61 console.log('new: %s, old: %s', val, oldVal);
62 }
63 },
64 // 过滤器,通常格式化字符,使用传值
65 filters: {
66 filterA(value) {
67 return value.toUpperCase();
68 }
69 },
70 // 混入,作用:减少代码污染、减少代码量、实现代码重用
71 mixins: [addLog],
72 // 扩展
73 extends: extendObj
74 })
75 </script>
76 </body>
77 </html>