美文网首页
Vue.js教程_8

Vue.js教程_8

作者: 五秋木 | 来源:发表于2019-12-09 10:32 被阅读0次

组件基础

组件是可复用的Vue实例,且带有一个名字:在这个例子中<button-counter>为一个组件。可以通过new Vue创建的Vue根实例中,把这个组件最为自定义元素来使用。

<div id="blog-posts-events-demo" class="demo">
  <div :style="{ fontSize: postFontSize + 'em' }">
    <blog-post v-for="post in posts" 
                      v-bind:key="post.id" 
                      v-bind:post="post" 
                      v-on:enlarge-text="postFontSize += 0.1"></blog-post>
  </div>
</div>
<script>
Vue.component('blog-post', {
  props: ['post'],
  template: '\
    <div class="blog-post">\
      <h3>{{ post.title }}</h3>\
      <button v-on:click="$emit(\'enlarge-text\')">\
        Enlarge text\
      </button>\
      <div v-html="post.content"></div>\
    </div>\
  '
})
new Vue({
  el: '#blog-posts-events-demo',
  data: {
    posts: [
      { id: 1, title: 'My journey with Vue', content: '...content...' },
      { id: 2, title: 'Blogging with Vue', content: '...content...' },
      { id: 3, title: 'Why Vue is so fun', content: '...content...' }
    ],
    postFontSize: 1
  }
})
</script>

实例2:

<body>
    <div id="app">
        <button-counter title="title1: " @clicknow="clicknow"></button-counter>        
        <button-counter title="title2: " @clicknow="clicknow"></button-counter>
    </div>
</body>
<script>
Vue.component('button-counter', {
    props:['title'],
    data: function(){
        return {
            count: 0
        }
    },
    template: '<div><h1>hhhhh</h1><button v-on:click="clickfun">{{title}} You clicked me {{count}} times.</button><slot></slot></div>',
    methods:{
        clickfun: function(){
            this.count ++
            this.$emit('clicknow', this.count);
        }
    }
})

var vm = new Vue({
    el: "#app",
    data:{

    },
    methods:{
        clicknow: function(e){
            console.log(e)
        }
    }
}) 
</script>

相关文章

  • vue.js教程

    vue.js教程

  • Vue.js教程_8

    组件基础 组件是可复用的Vue实例,且带有一个名字:在这个例子中 为一个组件。可以通过new Vue创建的Vue根...

  • vue.js实现todomvc---实践学vue(上)

    本教程意在让每一位vue.js新手,能通过这个小demo熟悉vue.js的使用"套路"   本教程是初级教程,尽量...

  • 一.Vue.js起步

    1 Vue.js Vue.js官网 Vue.js菜鸟教程 2 MVVM模式 MVC:Model-Viel-Cont...

  • Flask Vue.js 全栈开发

    Flask Vue.js全栈开发 1. Flask Vue.js全栈开发教程系列 Flask Vue.js全栈开发...

  • Vue起步

    Vue.js官网 Vue.js教程 1. Vue.js起步 Vue.js有两种方式:引入CDN方式或使用命令行工具...

  • Vue的入门学习笔记(一)

    Vue.js 官网教程:https://cn.vuejs.org/v2/guide/B站Vue.js入门教学视频:...

  • Vue.js 2 Cookbook(Vue.js全面入门教程电子

    Vue.js 2 Cookbook(Vue.js全面入门教程电子书免费下载) 更多AngularJS电子书、Rea...

  • VUE基础知识入门

    VUE基础知识入门 VUE官方文档教程链接:VUE 1.什么是Vue.js Vue.js(读音 /vjuː/, 类...

  • Vue.js安装

    Vue.js 安装 在看教程时里面提到 在用 Vue.js 构建大型应用时推荐使用 NPM 安装, NPM 能很好...

网友评论

      本文标题:Vue.js教程_8

      本文链接:https://www.haomeiwen.com/subject/pvzvgctx.html