1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>el与data的两种写法</title>
6 <script type="text/javascript" src="../js/vue.js"></script>
7 </head>
8 <body>
9 <!--
10 el的两种写法:
11 1.new Vue时候配置el属性
12 2.线创建Vue实例,随后再通过vm.$mount('#root')指定el的值
13 data的两种写法:
14 1.对象式
15 2.函数式
16 如何选择:在组件里,data必须使用函数式,否则会报错
17 还有一个重要的原则:有Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue对象,而是window,或者父对象
18 -->
19 <div id="root">
20 <h1>hello, {{name}}</h1>
21 </div>
22 </body>
23
24 <script type="text/javascript" >
25 Vue.config.productionTip = false;// 阻止 vue 在启动时生成生产提示。
26 v = new Vue({
27 // el: '#root', // el的第一种写法
28 // data:{ // data的第一种写法
29 // name: 'jack'
30 // }
31 data: function() {
32 // this 这里的this就是Vue对象
33 return {
34 name: 'jack'
35 }
36 }
37 })
38 v.$mount('#root') // el的第二种写法
39 </script>
40 </html>
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8" />
5 <title>Object.defineProperty方法</title>
6 </head>
7 <body>
8 <script type="text/javascript" >
9 let number = 18
10 let person = {
11 name: 'jack',
12 sex: 'man',
13 }
14 Object.defineProperties(person, 'age', {
15 value: number, // 设置age属性的值
16 enumberable: true, // 控制属性是否可以被枚举(遍历),默认false
17 writeable: true, // 控制属性是否可以被修改,默认false
18 configurable: true, // 控制属性是否可以被删除,默认false
19 // 当读取person.age属性的时候调用该方法(在原型中该方法名叫getter)
20 get: function(){
21 return number;
22 },
23 // 当对person.age=19属性赋值的时候滴啊用(在原型中该方法名叫setter)
24 set(value){
25 number = value;
26 }
27 })
28 </script>
29
30 </body>
31
32
33 </html>