517 vue注册组件语法糖,模板的分离写法

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>

<body>

  <div id="app">
    <cpn1></cpn1>
    <cpn2></cpn2>
  </div>

  <script src="../js/vue.js"></script>
  <script>
    // 1.全局组件注册的语法糖
    // 1.创建组件构造器
    // const cpn1 = Vue.extend()

    // 2.注册组件
    Vue.component('cpn1', {
      template: `
        <div>
          <h2>我是标题1</h2>
          <p>我是内容, 哈哈哈哈</p>
        </div>
      `
    })

    // 2.注册局部组件的语法糖
    const app = new Vue({
      el: '#app',
      data: {
        message: '你好啊'
      },
      components: {
        'cpn2': {
          template: `
            <div>
              <h2>我是标题2</h2>
              <p>我是内容, 呵呵呵</p>
            </div>
          `
        }
      }
    })
  </script>

</body>

</html>

模板的分离写法



<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>

<body>

  <div id="app">
    <cpn></cpn>
    <cpn></cpn>
    <cpn></cpn>
  </div>

  <!--1.script标签, 注意:类型必须是text/x-template-->
  <!-- <script type="text/x-template" id="cpn">-->
  <!--<div>-->
  <!--<h2>我是标题</h2>-->
  <!--<p>我是内容,哈哈哈</p>-->
  <!-- </div>-->
  <!--</script> -->

  <!--2.template标签-->
  <template id="cpn">
    <div>
      <h2>我是标题</h2>
      <p>我是内容,呵呵呵</p>
    </div>
  </template>

  <script src="../js/vue.js"></script>
  <script>

    // 1.注册一个全局组件
    Vue.component('cpn', {
      template: '#cpn'
    })

    const app = new Vue({
      el: '#app',
      data: {
        message: '你好啊'
      }
    })
  </script>

</body>

</html>
原文地址:https://www.cnblogs.com/jianjie/p/13535732.html