在 Vue.js 2.0 中,组件是可复用的 Vue 实例,可以封装可重用的代码块。组件允许你将应用拆分为一系列小的、独立的模块,每个模块都有自己的状态和行为。以下是 Vue.js 2.0 中使用组件的基本示例:

1. 全局组件
<!-- 定义全局组件 -->
Vue.component('my-component', {
  template: '<div>A custom component!</div>'
});

<!-- 在 Vue 实例中使用全局组件 -->
<div id="app">
  <my-component></my-component>
</div>
// 创建 Vue 实例
var app = new Vue({
  el: '#app'
});

在这个例子中,Vue.component 全局注册了一个名为 my-component 的组件,然后在 Vue 实例中使用了这个组件。组件的模板部分通过 template 选项定义。

2. 局部组件

你也可以在 Vue 实例的 components 选项中定义局部组件:
<div id="app">
  <my-local-component></my-local-component>
</div>
// 创建 Vue 实例
var app = new Vue({
  el: '#app',
  components: {
    'my-local-component': {
      template: '<div>Another custom component!</div>'
    }
  }
});

在这个例子中,components 选项定义了一个名为 my-local-component 的局部组件,它只能在这个 Vue 实例的范围内使用。

3. 组件之间的数据传递

父组件可以通过属性向子组件传递数据,子组件通过 props 选项接收数据:
<!-- 父组件 -->
<div id="app">
  <my-child :message="parentMessage"></my-child>
</div>
// 子组件
Vue.component('my-child', {
  props: ['message'],
  template: '<div>{{ message }}</div>'
});

// 创建 Vue 实例
var app = new Vue({
  el: '#app',
  data: {
    parentMessage: 'Message from parent component'
  }
});

在这个例子中,parentMessage 通过 :message 绑定传递给子组件。

4. 组件的生命周期钩子

Vue 组件有一系列的生命周期钩子函数,例如 created、mounted、updated、destroyed 等,你可以在这些钩子中执行一些逻辑。例如:
Vue.component('my-lifecycle-component', {
  template: '<div>{{ message }}</div>',
  data() {
    return {
      message: 'Hello, Vue!'
    };
  },
  created() {
    console.log('Component created!');
  }
});

在这个例子中,当组件被创建时,created 钩子函数会被调用,输出一条日志。

总的来说,Vue.js 的组件系统使得构建大型、可维护的应用变得更加简单和模块化。组件的复用和封装性让你能够更容易地管理应用的代码结构。


转载请注明出处:http://www.zyzy.cn/article/detail/4804/Vue