组件:一个页面由几部分组成==》组件化维护;将一个页面切分成几部分 每一个部分是一个组件【将页面上的内容单独封装】
全局组件的使用【使用组件化思想修改TodoList】:
props:接收从父组件传过来的参数 并在组件中使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TodoList</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" v-model="inputValue">
<button v-on:click="handleBtnClick">提交</button>
<ul>
<!-- v-bind:将item通过v-bind以content变量的形式传给todo-item -->
<todo-item v-bind:content="item" v-for="item in list"></todo-item>
</ul>
</div>
<script>
// VUE提供的创建全局组件的方法
Vue.component("TodoItem",{
// 从父组件接收content参数 在模板中用差值表达式的形式使用content
props:['content'],
template:"<li>{
{content}}</li>"
})
var app=new Vue({
el:'#app',
data:{
list:["第一课的内容","第二课的内容","第三课的内容"],
inputValue:"",
},
methods:{
handleBtnClick(){
console.log(this.inputValue)
this.list.push(this.inputValue)
this.inputValue=""
}
}
})
</script>
</body>
</html>
局部组件的使用【使用组件化思想修改TodoList】:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TodoList</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" v-model="inputValue">
<button v-on:click="handleBtnClick">提交</button>
<ul>
<todo-item v-bind:content="item" v-for="item in list"></todo-item>
</ul>
</div>
<script>
// 局部组件
var TodoItem={
props:['content'],
template:"<li>{
{content}}</li>"
}
var app=new Vue({
el:'#app',
// 将局部组件注册到根VUE实例中
components:{
TodoItem:TodoItem
},
data:{
list:["第一课的内容","第二课的内容","第三课的内容"],
inputValue:"",
},
methods:{
handleBtnClick(){
console.log(this.inputValue)
this.list.push(this.inputValue)
this.inputValue=""
}
}
})
</script>
</body>
</html>
到此这篇4.VUE前端组件化:全局组件及局部组件的使用的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qdvuejs/11186.html