ホームページ > ウェブフロントエンド > Vue.js > Vue でコンポーネントを作成するいくつかの方法の簡単な分析

Vue でコンポーネントを作成するいくつかの方法の簡単な分析

醉折花枝作酒筹
リリース: 2021-03-31 13:54:50
オリジナル
2577 人が閲覧しました

vue コンポーネントの作成とは、vue インスタンスのコード量を分割し、さまざまなコンポーネントを通じてさまざまな機能を見つけることです。ここでは、Vue でコンポーネントを作成する 3 つの方法を説明します。必要な友達は参考にしてください。 Vue でコンポーネントを作成するいくつかの方法の簡単な分析

方法 1: Vue.extend を使用してグローバル Vue コンポーネントを作成する

インスタンス:

var com1 = Vue.extend({
    template: &#39;<h3>这是使用 Vue.extend 创建的组件</h3>&#39; // 通过 template 属性,指定了组件要展示的HTML结构
     })
ログイン後にコピー

使用 Vue.component('コンポーネント名', 作成されたコンポーネント オブジェクト) Vue コンポーネントを作成するときは、名前の最初の文字を使用して名前を付けます。コンポーネントを参照するときは、大文字を小文字に変更し、先頭に # を使用します。 ##- 接続; パラメータ 1: コンポーネントを紹介するタグ、パラメータ 2: template はコンポーネントによって表示される HTML コンテンツです。

<div id="app">
    <!-- 如果要使用组件,直接,把组件的名称,以 HTML 标签的形式,引入到页面中,即可 -->
    <mycom1></mycom1>
  </div>

  <script>
Vue.component(&#39;mycom1&#39;, Vue.extend({
      template: &#39;<h3>这是使用 Vue.extend 创建的组件</h3>&#39;
    }))
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: &#39;#app&#39;,
      data: {},
    });
  </script>
ログイン後にコピー

得られる結果は次のとおりです:

Vue でコンポーネントを作成するいくつかの方法の簡単な分析

方法 2: Vue.component を直接使用します

<body>
  <div id="app">
    <!-- 使用标签形式,引入自己的组件 -->
    <mycom2></mycom2>
  </div>

  <script>
    Vue.component(&#39;mycom2&#39;, {
      template:`<div>
                  <h3>这是直接使用 Vue.component 创建出来的组件</h3>
                  <span>123</span>
               </div> `
    })
    // 创建 Vue 实例,得到 ViewModel
    var vm = new Vue({
      el: &#39;#app&#39;,
      data: {},
      methods: {}
    });
  </script>
</body>
ログイン後にコピー

結果:

Vue でコンポーネントを作成するいくつかの方法の簡単な分析

方法 3: 制御された #app の外部で Vue.component を使用し、制御された #App の内部でテンプレート要素

を使用します外部では、template 要素を使用してコンポーネントの HTML テンプレート構造を定義します。


<body>
  <div id="app2">
     <login></login>
    <mycom3></mycom3>
    <login></login>
  </div>
  <template id="tmpl">
    <div>
      <h1>这是通过 template 元素,在外部定义的组件结构,这个方式,有代码的只能提示和高亮</h1>
      <h4>好用,不错!</h4>
    </div>
  </template>
  <template id="tmpl2">
    <h1>这是私有的 login 组件</h1>
  </template>
  <script>
    Vue.component(&#39;mycom3&#39;, {
      template: &#39;#tmpl&#39;,
    })
    // 创建 Vue 实例,得到 ViewModel
    var vm2 = new Vue({
      el: &#39;#app2&#39;,
      data: {},
      methods: {},
      filters: {},
      directives: {},
      components: { // 定义实例内部私有组件的
        login: {
          template: &#39;#tmpl2&#39;
        }
      },
    })
  </script>
</body>
ログイン後にコピー
出力結果:

Vue でコンポーネントを作成するいくつかの方法の簡単な分析

注: コンポーネントの作成方法に関係なく、コンポーネントのテンプレートが指すコンテンツにはルート要素が 1 つだけあります。


関連する推奨事項: 「

vue.js チュートリアル

以上がVue でコンポーネントを作成するいくつかの方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
vue
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート