vue prop 向子组件传递数据

12 篇文章 0 订阅

通过 Prop 向子组件传递数据

Prop 是你可以在组件上注册的一些自定义 attribute。当一个值传递给一个 prop attribute 的时候,它就变成了那个组件实例的一个 property

//一个 prop 被注册之后,你就可以像这样把数据作为一个自定义 attribute 传递进来:
<blog-post title="My journey with Vue"></blog-post>
<blog-post title="Blogging with Vue"></blog-post>
<blog-post title="Why Vue is so fun"></blog-post>
<script>
	Vue.component('blog-post', {
	  props: ['title'],
	  template: '<h3>{{ title }}</h3>'
	})
</script>

在这里插入图片描述
一个组件默认可以拥有任意数量的 prop,任何值都可以传递给任何 prop

demo

<!DOCTYPE html>
<html>
  <head>
    <title>Component Blog Post Example</title>
    <script src="https://unpkg.com/vue"></script>
  </head>
  <body>
    <div id="blog-post-demo" class="demo">
     <blog-post
		v-for="post in posts"
		:key='post.id'
		:post='post'
     ></blog-post>
    </div>

    <script>
      Vue.component("blog-post", {
        props: ["post","content"],
		// 折行转义字符  支持 IE
   //      template: "<div>\
			// 	<h3>{{ post.title }}</h3><p>{{ post.body }}</p>\
			// </div>"
			
		// 模板字符串  不支持 IE
		template:`<div>
				<h3>{{ post.title }}</h3><p>{{ post.body }}</p>
			</div>`
      });
		// 实例化vue
      new Vue({
        el: "#blog-post-demo",
        data: {
          posts: [
            
          ]
        },
		// 生命周期钩子 eated 这个钩子在实例被创建之后被调用
        created: function() {
          // Alias the component instance as `vm`, so that we
          // can access it inside the promise function
          var vm = this;
          // Fetch our array of posts from an API
		  //fetch 在浏览器中直接提供其提供的api轻松与后台进行数据交互
          fetch("https://jsonplaceholder.typicode.com/posts")
            .then(function(response) {
				//将其转化为json对象
              return response.json();
            })
            .then(function(data) {
				//将值赋值到vue的数据中
              vm.posts = data;
            });
        }
      });
    </script>
  </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值