菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Vue 教程

Vue 首页 Vue Intro Vue Directives Vue v-bind Vue v-if Vue v-show Vue v-for Vue Events Vue v-on Vue Methods Vue Event Modifiers Vue Forms Vue v-model Vue CSS Binding Vue Computed Properties Vue Watchers Vue Templates

Scaling Up

Vue 为什么、如何及设置 Vue 第一个 SFC 页面 Vue 组件 Vue Props Vue v-for 组件 Vue $emit() Vue Fallthrough Attributes Vue 作用域样式 Vue 本地组件 Vue Slots Vue v-slot Vue 作用域插槽 Vue 动态组件 Vue Teleport Vue HTTP 请求 Vue 模板引用 Vue 生命周期钩子 Vue Provide/Inject Vue 路由 Vue 表单输入 Vue 动画 Vue v-for 动画 Vue Build Vue Composition API

Vue Reference

Vue Built-in Attributes Vue Built-in Components Vue Built-in Elements Vue Component Instance Vue Directives Vue Instance Options Vue Lifecycle Hooks

Vue 示例

Vue Examples Vue Exercises Vue Quiz Vue Server Vue Certificate

Vue 'is' 属性


示例

is 属性通过 v-bind(简写为 :)与计算值 'activeComp' 关联,以便显示 'comp-one' 组件或 'comp-two' 组件。

App.vue:

<template>
  <h1>Dynamic Components</h1>
  <p>App.vue switches between which component to show.</p>
  <button @click="toggleValue = !toggleValue">Switch component</button>
  <component :is="activeComp"></component>
</template>
运行示例 »

更多示例请参见下方。


定义和用法

is 属性可用于三个方面:

1. 动态组件:is 属性设置在内置的 <component> 元素上,以创建动态组件,其中 is 属性定义了哪个组件应该是活动的。

更具体地说,is 属性通过 v-bind 绑定到一个属性,该属性保存了应该活动的组件的名称。(参见上面的示例)

2. 使用 Vue 组件替换原生元素:is="vue:my-component" 放在原生 HTML 元素上,以用 Vue 组件替换它。(参见示例 1)

如果我们不使用 vue: 前缀,它将被解释为自定义内置元素,如下方解释所示,Vue 组件将不会被插入。

3. 自定义内置元素:自定义内置元素可以用 JavaScript 编写,并且 is 属性可以用于 HTML 标签上,将其定义为这种自定义内置元素。这不是 Vue 的特性。


更多示例

示例 1

使用 is 属性将 <img> 标签替换为 Vue 组件。

App.vue:

<template>
  <h2>Example Built-in 'is' Attribute</h2>
  <p>The IMG tag below is set to be replaced by a component by the use of 'is="vue:child-comp"'.</p>
  <img is="vue:child-comp" />
</template>

ChildComp.vue:

<template>
  <div>
    <h3>ChildComp.vue</h3>
    <p>This is the child component</p>
  </div>
</template>

<style scoped>
div {
  border: solid black 1px;
  background-color: lightgreen;
  padding: 10px;
  max-width: 250px;
  margin-top: 20px;
}
</style>
运行示例 »

相关页面

Vue 教程:动态组件

Vue 教程:Vue Components

Vue 教程:Vue Computed Properties

Vue 教程:Vue v-bind 指令

Vue 参考:Vue v-bind 指令

Vue 参考:Vue <component> 元素

Vue 参考:Vue $refs 对象


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持