如果我们有好几列有内容,而我们希望在新列中将有内容的列的标题显示出来,那么我们怎么做呢? Excel - TEXTJOIN function 1....- - - - 4 - - - 在开始,我们曾经使用INDEX + MATCH的方式,但是没有成功,一直是N/A https://superuser.com/questions/1300246/if-cell-contains-value-then-column-header...所以我们后来改为TEXTJOIN函数,他可以显示值,也可以显示值的标题,还可以多个列有值的时候同时显示。...- - 4 - - - 15 Year 5 - - - - 5 - - - =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),$B$1:$I$1,"")) 如果是想要显示值,...则: =TEXTJOIN(", ",TRUE,IF(ISNUMBER(B2:I2),B2:I2,"")) 其中,ISNUMBER(B2:I2)是判断值是不是数字,可以根据情况改成是不是空白ISBLANK
业务中需求的方法,接口返回一个数组,里面包含了大量的对象,具有同名的属性名,比较常见。但是需要将其中参数为name的属性值全部取出,合并成数组。
DOM以及将创建出来的虚拟DOM渲染成真实的DOM 首先实现一下如何创建虚拟DOM,看代码: // element.js // 虚拟DOM元素的类,构建实例对象,用来描述DOMclass Element...props 遍历oldChildren,然后递归调用walk再通过child和newChildren[index]去diff 去比较新老Attr是否相同 把newAttr的键值对赋给patch对象上并返回此对象...,就将对应的补丁放进大补丁包里 if (current.length > 0) { // 将元素和补丁对应起来,放到大补丁包中 patches[index] = current...属性ATTR for in去遍历attrs对象,当前的key值如果存在,就直接设置属性setAttr; 如果不存在对应的key值那就直接删除这个key键的属性2....文字TEXT 直接将补丁的text赋值给node节点的textContent即可3.
在vue.js中的MVVM模式: vue.js是通过数据驱动的,vue.js实例化对象将dom和数据进行绑定,一旦绑定,dom和数据将保持同步,每当数据发生变化,dom也会随着变化;ViewModel...,为路由对象的path属性设置/:id 8.如何获取传过来的动态参数 在组件中,使用router对象的params.id,如route.params.id 9.vue-router有哪几种导航的钩子 有三种...过程:a,对需要观察的数据对象进行递归遍历,包含子属性对象的属性,设置set和get特性方法;当给这个对象的某个值赋值时,会触发绑定的set特性方法,就能起到监听数据的变化。...22.v-show指令和v-if指令的区别 它们都是条件渲染指令,不同的是,v-show的值无论是true或false元素都会存在于html页面中,而v-if的值为true时,元素才会存在于html页面中...v-show指令是通过修改元素的style属性值实现的。
在vue.js中的MVVM模式: vue.js是通过数据驱动的,vue.js实例化对象将dom和数据进行绑定,一旦绑定,dom和数据将保持同步,每当数据发生变化,dom也会随着变化;ViewModel是...,为路由对象的path属性设置/:id 8.如何获取传过来的动态参数 在组件中,使用router对象的params.id,如route.params.id 9.vue-router有哪几种导航的钩子 有三种...过程:a,对需要观察的数据对象进行递归遍历,包含子属性对象的属性,设置set和get特性方法;当给这个对象的某个值赋值时,会触发绑定的set特性方法,就能起到监听数据的变化。...22.v-show指令和v-if指令的区别 它们都是条件渲染指令,不同的是,v-show的值无论是true或false元素都会存在于html页面中,而v-if的值为true时,元素才会存在于html页面中...v-show指令是通过修改元素的style属性值实现的。
通过前两篇,已经把后端和前端的架子搭起来了,并且后端写好方法返回数据 本篇将详细介绍如何使用axios发送get请求,并且解决django+vue的跨域问题 前端页面如下 先分析下我的需求:...输入框的值传给后端; 下面在main_page.vue中编写代码来实现上述需求 1....当前端发送请求得到响应数据后,可以把响应内容赋给info参数,通过Mustache语法把info的内容展示到textera中,所以代码如下 .........使用axios发送get请求(不带参数) 先安装axios,在终端输入安装命令 npm install axios 在create_data()函数中添加axios发送请求的代码, 先实现一个不带参数的...,并查看点击元素的id,通过比对id值判断触发哪个请求 axios({ url: "http://localhost:8000/create_data/phone"
key属性的值精确找到要更改的一个HTML元素,只更改受影响的一个HTML元素即可,不用将这组HTML元素全部重新生成一遍——效率高 • 坑 • 当数组中保存的是原始类型的值时 • 在程序中修改数组中某个元素值时...,就会立刻将新选中的option的value值更新回内存中的程序里 原理 • 单向绑定时 • 将Model中的变量值赋值给select的value属性.然后, select元素会拿获得value属性值去和每个..."自定义属性名"]} • 结果: 子组件对象中,可取出父组件放在子组件自定义属性上的变量值 • props中的变量用法和data中变量用法完全一样,只不过值的来源不同 • 如果父给子传递的是原始类型的值...所以在子组件中修改变量的值,不影响父组件。 • 如果父给子传递的是一个引用类型的对象或数组,其实传递的是对象的地址。...进入脚手架项目文件夹,在项目本地安装axios • npm i -save axios 配置: • 将axios放入Vue的原型对象中,今后在vue中任何位置都可this.axios.get()
此外,data 函数还可以接收参数,让我们可以在组件被复用时动态地设置默认值,使得代码更加灵活和通用。 在 Vue 中,如果你给一个对象添加新属性,界面不会自动刷新,因为 Vue 不会检测到这个变化。...这两个方法都可以让 Vue 监听到新属性的变化,从而更新界面。 如果你要添加多个属性,可以将对象赋值为一个新对象。 如果你不能改变对象本身,可以使用计算属性来返回一个新的对象。...应用场景包括: 多个组件需要使用相同的函数或数据时,可以将这些函数或数据定义在mixin对象中,然后将其混入各个组件中。 通过mixin对象实现特定功能的封装,例如处理表单验证、处理路由跳转等。...但是,当数据源中的元素发生变化时,如果没有提供恰当的key值,可能会导致Vue.js出现性能问题,因为它可能会错误地重新渲染整个列表。...这种情况下,Vue会直接将旧节点替换成新节点,并递归处理新节点的子节点。 在比较过程中,Vue还会尽可能地复用已有的节点,以减少内存开销和DOM操作的次数。
diff 虚拟DOM 比较的规则 【旧虚拟DOM】 与 【新虚拟DOM】中相同key 若虚拟DOM中的内容没有发生改变,直接使用旧的虚拟DOM 若虚拟DOM中的内容发生改变了,则生成新真实的DOM...使用箭头函数(arrow functions)的优点是什么 作用域安全:在箭头函数之前,每一个新创建的函数都有定义自身的 this 值(在构造函数中是新对象;在严格模式下,函数调用中的 this 是未定义的...;如果函数被称为“对象方法”,则为基础对象等),但箭头函数不会,它会使用封闭执行上下文的 this 值。...但这样可读性强的代码仅仅是给写程序的同学看的,实际上在运行的时候,会使用 Babel 插件将 JSX 语法的代码还原为 React.createElement 的代码。...元素比对:主要发生在同层级中,通过标记节点操作生成补丁,节点操作对应真实的 DOM 剪裁操作。 以上是经典的 React diff 算法内容。自 React 16 起,引入了 Fiber 架构。
68.axios是什么?如何使用它? 69. 如何在 Vue. js中循环插入图片? 70.如何解决数据层级结构太深的问题 71.如何让CSS只在当前组件中起作用?...向服务器发送请求,这时可以做其他事情,内容请求到时,用户不用刷新页面,也可以看到新内容 52.Vue.set 方法原理 1.在实例创建之后添加新的属性到实例上(给响应式对象新增属性) 2.直接更改数组下标来修改数组的值...在then方法中注册成功后的回调函数,通过箭头函数的作用域特征,可以直接访问组件实例化对象,存储返回的数据。 69. 如何在 Vue. js中循环插入图片? 对“src”属性插值将导致404请求错误。...编码阶段 尽量减少data中的数据,data中的数据都会增加getter和setter,会收集对应的watcher v-if和v-for不能连用 如果需要使用v-for给每项元素绑定事件时使用事件代理...在 patch (补丁)过程中的 diff 算法对新旧节点比对时是可以通过 key 精准判断两个节点是否是同一个,从而避免频繁更新不同元素,使 patch 过程更高效。
如果在打包发布时希望一些依赖包也出现在最终的包里,那么可以将包的名字放在bundledDependencies中,bundledDependencies 的值是一个字符串数组,如: { "name"...dependencies 是一个对象,对象和 node_modules 中的包结构一一对应,对象的 key 为包名称,值为包的一些描述信息: version: 包唯一的版本号 resolved: 安装来源...使用&&符号连接。 npm run script1 && npm run script2 串行命令执行过程中,只要一个命令执行失败,则整个脚本将立刻终止。 如果是并行执行,即多个任务可以同时执行。...这个时候的 foo 配置值将覆盖所有其他来源存在的 foo 配置值。 环境变量 如果 env 环境变量中存在以npm_config_为前缀的环境变量,则会被识别为 npm 的配置属性。...比如,环境变量中的npm_config_foo=bar 将会设置配置参数 foo 的值为 "bar"。 如果只指定了参数名却没有指定任何值的配置参数,其值将会被设置为 true。
它们受控的主要原理是,通过表单元素的 value属性设置表单元素的值,通过表单元素的onChange 事件监听值的变化,并将变化同步到React 组件的 state中。...state中获取的,当用户更改表单元素的值时,onChange事件会被触发,对应的 handleChange处理函数会把变化同步到组件的 state,新的 state又会触发表单元素重新渲染,从而实现对表单元素状态的控制...这个例子还包含一个处理多个表单元素的技巧:通过为两个 input元素分别指定name属性,使用同一个函数 handleChange处理元素值的变化,在处理函数中根据元素的name属性区分事件的来源。...创建新的状态有以下三种方法: 状态的类型是不可变类型(数字、字符串、布尔值、null、undefined):因为状态是不可变类型,所以直接赋一个新值即可 状态的类型是数组:可以使用数组的concat或者...Semver 在axios达到1.0版本之前,破坏性更改将以新的次要版本发布。 例如0.5.1和0.5.4将具有相同的API,但0.6.0将具有重大变化。
3、当我们将组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,拥有自己的作用域,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据...: 1、新建一个 xxx.vue 2、在 xxx.vue 中 包含三部分 tempalte script css 注意 的是template中有且只有一个父元素 根元素 3、将组件挂载到父元素上...这个时候实例或者组件的挂载已经结束 是最早可以操作的dom元素的钩子函数 实例或者组件的运行阶段 当data的数据被修改的时候调用 (0次或者多次) beforeUpdate 内存中的数据是新的 页面的数据是旧的...像Vue、React、Node等项目就可以使用Axios,如果你的项目里面用了Jquery,此时就不需要多此一举了,jquery里面本身就可以发送请求。 Axios如何使用?...第二部写入option对象 最后使用刚指定的配置项和数据显示图表 myChart.setOption(option); 可以使用ref获取元素 最终效果: 总结 本文简单介绍了vue的使用,如有遗漏
新的指令:@click,该指令是用于监听某个元素的点击事件,并且需要指定当发生点击时,执行的方法。...,对象的value是具体赋的值,值可以来自于data中的属性。...属性 使用v-for时,给对应的元素或组件添加上一个:key属性。...shallow && observe(newVal) dep.notify() } }) vue中式如何检测数组变化 使用函数劫持的方式,重写了数组的方法,vue将data中的数组进行了原型链的重写...提前在store中初始化好所需的属性 给state中的对象添加新属性时:使用 使用Vue.set(obj,'newObj',123) 用新对象给旧对象赋值 Mutation常量类型 // mutation-types.js
在本教程中,你将学到如何使用 Vue + Axios 搭建一套加密币实时行情看板,你会学到 Axios 如何向加密货币行情 API 请求数据,存储数据,然后使用 Vue 在前端展示这些数据,最终完成「实时行情看板...为了让看板看起来更漂亮,我们将使用 Foundation CSS 框架。 本教程将手把手教你如何通过 Axios 读取 API 数据,搭建一套加密币实时价格看板。...如何安装 Axios 可以使用以下简单方法之一将 Axios 添加到我们的项目/代码中: npm: npm install axios bower: bower install axios yarn:...这段代码创建了一个新 Vue 应用实例,并将这个实例赋到「 id = app 」到元素上。Vue 把这个过程叫做加载应用。...我们定义了一个新 Vue 实例,通过配置对象对这个应用进行配置,[el](https://v3.cn.vuejs.org/api/application-api.html#el) 指定了加载应用对应的元素
难点语法的理解和使用 1、axios.create(config) 根据指定配置创建一个新的 axios, 也就就每个新 axios 都有自己的配置 新 axios 只是没有取消请求和批量发请求的方法...(1) 需求: 项目中有部分接口需要的配置与另一部分接口需要的配置不太一样, 如何处理 (2) 解决: 创建 2 个新 axios, 每个都有自己特有的配置, 分别应用到不同要 求的接口请求中 //创建实例对象...将 c 的值赋值给 cancel cancel = c; }) }).then(response => { console.log(response...不能 instance.get X //将 Axios.prototype 对象中的方法添加到instance函数对象中,才可以instance.get.......拦截器的模拟实现 array.shift()该方法用于把数组的第一个元素从其中删除,并返回第一个元素的值 思路为先将拦截器的响应回调与请求回调都压入一个数组中,之后进行遍历运行 promise = promise.then
实现数据的追加, 需要使用concat方法, 该方法用于合并两个或多个数组,核心就是如下一行代码 新的数据和旧data合并, 然后赋值给aDatas.value aDatas.value = aDatas.value.concat...indexOf 查找元素在数组中的位置 lastIndexOf 查找元素在数组中的最后一个位置 forEach 遍历数组 map 遍历数组, 返回一个新数组 filter 过滤数组, 返回一个新数组...some 判断数组中, 是否有元素满足条件 every 判断数组中, 所有元素是否都满足条件 reduce 遍历数组, 并返回一个值 reduceRight 遍历数组, 并返回一个值 find 查找数组中..., 第一个满足条件的元素 findIndex 查找数组中, 第一个满足条件的元素的位置 fill 用一个固定值填充数组 copyWithin 数组的一部分, 复制到同一数组中的另一个位置 includes...查找数组中, 是否包含某个元素 entries 返回数组中每个索引的键值对 keys 返回数组中每个索引的键 values 返回数组中每个索引的值 isArray 判断是否为数组 以上这些数组的基础方法需要非常熟悉
,路由会调用对应的控制器来处理,控制器会获取数据,将结果返回给前端,让页面重新渲染。...mvvm,对于传统的前端会将数据手动渲染到页面上,mvvm模式不需要用户收到操作dom元素,将数据绑定到viewModel层上,会自动将数据渲染到页面中,视图变化会通知viewModel层更新数据。...修改对象的值的时候,会触发对应的setter,setter通知之前依赖收集得到的 Dep 中的每一个Watcher,告诉它们值改变了,需要重新渲染视图。...shallow && observe(newVal) dep.notify() } }) vue中式如何检测数组变化 使用函数劫持的方式,重写了数组的方法,vue将data中的数组进行了原型链的重写...提前在store中初始化好所需的属性 给state中的对象添加新属性时:使用 使用Vue.set(obj,'newObj',123) 用新对象给旧对象赋值 Mutation常量类型 // mutation-types.js
参考答案: Array.prototype.distinct = function() { var ret = []; for (var i =...
领取专属 10元无门槛券
手把手带您无忧上云