Vue.js基础-01-Vue实例和Vue表达式(实例化,常用选项el/data/methods/computed/filter/watch,实例属性)

1. 从一段代码说起

1.1 第一段代码

  • 代码
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>crow_yuan</title>
  <script src="https://unpkg.com/vue@2.6.14/dist/vue.min.js"></script>
</head>

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

  <script>
    new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue.js!'
      }
    })
  </script>
</body>
</html>
  • 效果
Hello Vue.js!

1.2 Vue的使用说明

从示例中我们可以看到,Vue的使用有两部分:

  • Vue表达式
    {{ }} 中即是Vue的表达式
  • Vue实例
    new Vue({}) 是我们将Vue实例化。

2. Vue实例

2.1 Vue 实例化

语法示例

var vm = new Vue({
  // 选项
})

完整示例

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>crow song</title>
	<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
</head>
<body>
	<div id="vue_det">
		<h1>name : {{name}}</h1>
		<h1>urla : {{url}}</h1>
		<h1>{{description()}}</h1>
	</div>
	<script type="text/javascript">
		var vm = new Vue({
			el: '#vue_det',
			data: {
				name: "玄德公",
				url: "https://blog.csdn.net/xingzuo_1840?type=blog",
			},
			methods: {
				description: function() {
					return  this.name + ":开发+运维 的技术笔记";
				}
			}
		})
	</script>
</body>
</html>

{{ }} 用于输出对象属性和函数返回值。

2.2 常用选项

上例中我们可以找到 Vue实例中的属性,常用属性如下:

- el

指定了 DOM 元素中的 id,该Vue实例可以在指定id的DOM的元素中被使用

在上面实例中,el选项指明了该Vue实例可以在 id 为 vue_det的DOM元素中使用。

- data

用于定义属性

上例中有2个属性分别为:name、url。

- methods (方法)

用于定义的函数,可以通过 return 来返回函数值。

我们将在 后边的文章 中说明

- computed(计算属性)

主要是对原数据进行改造输出。

我们将在 后边的文章 中说明

- filter(过滤器)

用于过滤字符或传递数据

我们将在 后边的文章 中说明

- watch

主要用于监测data中的数据变化

我们将在 后边的文章 中说明

2.3 实例属性

2.3.1 用户自定义属性

说明

上文可知,我们可以在Vue实例中的data选项中定义属性和属性值

示例 (修改对象属性/原始数据)

关羽初始设定,势力是 魏,攻击力100。
修改Vue实例的 “势力属性”为 ,原始值中势力的值也变为
修改原始数据中攻击力值为 120,Vue对应属性值也变为120.

  • 代码
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>CROW SONG</title>
	<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
</head>
<body>
    <div id="vue_det">
        <h1>姓名 : {{name}}</h1>
        <h1>势力 : {{belong}}</h1>
        <h1>attack : {{attack}}</h1>
    </div>
    <script type="text/javascript">
    var data = { name: "关羽", belong: "魏", attack: 100}
    var vm = new Vue({
        el: '#vue_det',
        data: data
    })
    // 比较属性值vm.belong 和原始数据 data.belong
    document.write("比较属性和原始数据:",vm.belong === data.belong,"<br>","<br>")

    // 修改属性值,原始数据改变
    vm.belong = "蜀"
    document.write("千里走单骑,势力改变:"+data.belong + "<br>"+"<br>") // Runoob

    // 修改原始数据,对象属性值改变。
    data.attack = 120
    document.write(vm.attack)
    </script>
</body>
</html
  • 显示结果

不管从属性或者原始数据中修改,其结果都是一样的。

在这里插入图片描述

2.3.2 实例选项的属性

说明

Vue实例的选项也可以作为属性取值,
用前缀 $和用户定义的属性区分开来。

完整示例
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>CROW SONG</title>
	<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
</head>
<body>
    <div id="vue_det">
        <h1>姓名 : {{name}}</h1>
        <h1>势力 : {{belong}}</h1>
        <h1>attack : {{attack}}</h1>
    </div>
    <script type="text/javascript">
    var data = { name: "关羽", belong: "魏", attack: 100}
    var vm = new Vue({
        el: '#vue_det',
        data: data
    })

	document.write(vm.$data === data) // true
	document.write("<br>")
	document.write(vm.$el === document.getElementById('vue_det')) // true
	</script>
</body>
</html>

3. Vue 表达式

Vue.js 都提供了完全的 JavaScript 表达式支持。我们写在DOM元素 的{{}}

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>CROW YUAN</title>
  <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<style>
  .class1 {
    background: #444;
    color: #eee;
  }
</style>

<body>
  <div id="app">
    {{5+5}}<br>
    {{ ok ? 'YES' : 'NO' }}<br>
    {{ message.split('').reverse().join('') }}
    <div v-bind:class="'class' + id">{{message}}</div>
  </div>

  <script>
    new Vue({
      el: '#app',
      data: {
        ok: false,
        message: '鸦啼正落花',
        id: 1
      }
    })
  </script>
</body>

</html>
  • 结果显示
    在这里插入图片描述

image.png

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄德公笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值