📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

使用Vue.component()必须要先将Vue实例化

创建时间2019-12-17最后修改2019-12-17原位置/程序员成长之旅/Vue.js学习/字数216
目录:程序员成长之旅/Vue.js学习

错误示范:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript" src="./vue.js" charset="UTF-8"></script>
		
	</head>
	<body>
		<div id="app">
			<button-counter></button-counter>
		</div>
		<script type="text/javascript"> /*注意这里,只是应用了Vue的自定义组件,没有进行Vue实例化和范围圈定*/
			Vue.component('button-counter',{
				props:['title'],
				data:function(){
					return {
						count:0
					}
				},
				template: '<div><h1>hi...</h1><button v-on:click="clickfun">{{title}} You clicked me {{ count }} times.</button><slot></slot></div>',
				methods:{
					clickFun:function(){
						this.count++;
						
					}
				}
			})

		</script>
	</body>
</html>

正确示范:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript" src="./vue.js" charset="UTF-8"></script>
		
	</head>
	<body>
		<div id="app">
			<button-counter></button-counter>
		</div>
		<script type="text/javascript">
			Vue.component('button-counter',{
				props:['title'],
				data:function(){
					return {
						count:0
					}
				},
				template: '<div><h1>hi...</h1><button v-on:click="clickfun">{{title}} You clicked me {{ count }} times.</button><slot></slot></div>',
				methods:{
					clickFun:function(){
						this.count++;
						
					}
				}
			})
			var vm = new Vue({ //注意这里,将 #app 范围内的内容接管到Vue,使Vue.component()生效了!
				el:'#app',
				data:{
					
				}
			});
		</script>
	</body>
</html>