0%

【024】Vue选项:数据中的 propsData

前言

小编在日常开发中,基本是不使用propsData的,所以在这里我们了解一下即可。当然,可能对于一些开发人员会经常用到,比如在测试时,可以直接模拟一些数据,从而方便测试。

使用

创建实例时传递 props。主要作用是方便测试。只用于 new 创建的实例中。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
</head>
<body>
<div id="app">
<v-demo></v-demo>
</div>
<script type="text/javascript">
var Comp = Vue.extend({
props: ['msg'],
template: `<div>{{ msg }}</div>`
})
new Comp({
propsData: {
msg: 'hello'
}
}).$mount('#app');
</script>
</body>
</html>

在浏览器运行上面的代码,可以看到页面显示内容为hello,运行正常。

通过上面的代码,我们用三步解决了全局扩展的传值:

  1. 先在时全局扩展中加入props: ['msg']接受msg的值;
  2. 然后在 new 示例中使用propsData: { msg: 'hello'}msg赋值;
  3. 最后通过$mount挂载传递msg的值到全局扩展中。