vue组件讲解(is属性的用法)模板标签替换操作


Posted in Javascript onSeptember 04, 2020

vue中is的属性引入是为了解决dom结构中对放入html的元素有限制的问题,譬如ul里面要接上li的标签,引入is的属性后,你完全可以写成这样

<div class="language-html">
  <ul> 
    <li is="row"></li> 
  </ul>
</div>

这样会保证dom结构在浏览器的正常渲染,尽量避免在不正确的结构中直接使用组件

<script>
  Vue.component('row', {
    template: '<li>this is a row</li>'
  })
</script>

vue组件讲解(is属性的用法)模板标签替换操作

或另一种用法如图:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>动态组件与v-once指令</title>
 <script src="./vue.js"></script>
</head>
<body>
 <div id="app">
 <component :is="type"></component>
 <!-- <child-one v-if="type==='child-one'"></child-one>
 <child-two v-if="type==='child-two'"></child-two> -->
 <button @click="handleBtnClick">change</button>
 </div>
 <script>
 Vue.component("childOne", {
  template: "<div>child one</div>"
 });
 Vue.component("childTwo", {
  template: "<div>child two</div>"
 });
 var vm = new Vue({
  el:"#app",
  data: {
  type: "child-one"
  },
  methods: {
  handleBtnClick: function(){
   this.type = (this.type==="child-one" ? "child-two" : "child-one")
  }
  }
 })
 </script>
</body>
</html>

补充知识:vue如何从外部修改组件内部的变量的值

1、首先是如何给你定义的变量拿到数据:

这里我自己用的是vuex:

首先在你项目的src文件夹下创建这么一个目录:

vue组件讲解(is属性的用法)模板标签替换操作

之后就要在index.js中将homedatas.js(拿数据的js)共享出去,使页面能拿到数据,

以下是index.js的代码:

vue组件讲解(is属性的用法)模板标签替换操作

随后就是在homedatas中获取数据了,以下是homedatas.js代码:

vue组件讲解(is属性的用法)模板标签替换操作

以上就是获取数据的步骤,之后就是在页面中拿到这个获取到的数据:

首当其冲不可少的就是引用,引用vuex和引用组件:

vue组件讲解(is属性的用法)模板标签替换操作

之后在页面的jascript中的export default中定义组件,获取数据:

vue组件讲解(is属性的用法)模板标签替换操作

用这个方式在页面中引用组件,然后再自定义标签中将数据传递给组件:

vue组件讲解(is属性的用法)模板标签替换操作

2、子组件中获取父组件传递过来的数据:

props中定义属性,这是之前在页面自定义标签中设置的三个属性,分别控制组件中的不同部分,定义每个属性的类型、默认值以及测试函数,注意,测试函数一定要return一个值,不然页面会报错,测试函数的参数就是传递过来的值:

vue组件讲解(is属性的用法)模板标签替换操作

scrolldatas是一个数组,之后便是循环遍历这个数组中的元素,数组中的值就能展示在页面了,页面元素会随着数组元素的改变而改变:

vue组件讲解(is属性的用法)模板标签替换操作

之后就是其他两个变量怎么在组建中引用了:

首先我要在测试函数中判断一下,这个传进来的值符合不符合要求,如果不符合,那就不执行测试函数,就是默认值,如果符合要求,执行函数,并在函数中改变默认值,赋值给相应自定义变量:

vue组件讲解(is属性的用法)模板标签替换操作

之后就是调用函数,调用函数中传入参数,这个参数现在的值不是最开始var的初始值,而是后来测试函数中因为符合测试函数的条件后来赋给的值(因为window.onload直到页面加载才会执行):

vue组件讲解(is属性的用法)模板标签替换操作

之后就要在需要用到这个变量的函数中传一个参数(speed,这个speed的值就是上面changespeed的值):

vue组件讲解(is属性的用法)模板标签替换操作

所以经过一会说那个的操作,只要在获取数据的地方修改值,页面效果就会随之改变,不需要再组件中修改任何东西:

vue组件讲解(is属性的用法)模板标签替换操作

以上这篇vue组件讲解(is属性的用法)模板标签替换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 实现父窗口引用弹出窗口的值的脚本
Aug 07 Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
如何学习Javascript入门指导
Nov 01 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
不定义JQuery插件 不要说会JQuery
Mar 07 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
webpack常用配置项配置文件介绍
Nov 07 Javascript
使用JS批量选中功能实现更改数据库中的status状态值(批量展示)
Nov 22 Javascript
jQuery实现的分页功能示例
Jan 22 Javascript
jquery实现全选、全不选以及单选功能
Mar 23 jQuery
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
JavaScript 作用域scope简单汇总
Oct 23 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 #Javascript
Vue中component标签解决项目组件化操作
Sep 04 #Javascript
JS数组转字符串实现方法解析
Sep 04 #Javascript
v-slot和slot、slot-scope之间相互替换实例
Sep 04 #Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 #Javascript
解决vue scoped scss 无效的问题
Sep 04 #Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 #Javascript
You might like
配置php网页显示各种语法错误
2013/09/23 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
模仿百度三维地图的js数据分享
2011/05/12 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
JS实现购物车特效
2017/02/02 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
python opencv之SIFT算法示例
2018/02/24 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
函授本科自我鉴定
2013/11/03 职场文书
物业招聘计划书
2014/01/10 职场文书
素质拓展感言
2014/01/29 职场文书
员工合理化建议书
2014/05/19 职场文书
化学专业自荐信
2014/05/28 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
会计工作态度自我评价
2015/03/06 职场文书
环保守法证明
2015/06/24 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
Python自动化爬取天眼查数据的实现
2021/06/15 Python
Ruby处理CSV数据方法详解
2022/04/18 Ruby
详解Go语言中Get/Post请求测试
2022/06/01 Golang