十一,深入响应式原理 声明响应式属性 由于Vue不允许动态添加根级响应式属性,所以你必须在初始化实例钱声明根级响应式属性,哪怕只有一个空值。 如果你在data 选项中未声明 message,Vue 将警告你渲染函数早试图访问的属性不存在。 $nextTick() 实例方法特别方便,应为它不需要全局Vue ,并且回调函数中 this 将自动绑定到当前Vue Vue.component('example', { el: '#list-demo', data: { items: [1,2,3,4,5,6,7,8,9] el: '#flip-list-demo', data: { items: [1,2,3,4,5,6,7,8,9]
本次Android 9.0 的推出,腾讯WeTest平台对“云真机”第一时间进行了系统升级,提供安卓9机型兼容测试和远程调试服务,持续限免对外开放,为广大开发者提供便利。 小编这里结合WeTest云真机功能,一起来近距离体验Android 9带来的“黑科技”。 [p9.gif] 立刻登录腾讯WeTest,体验 Android 9.0 =========================== 最新Android 9.0 系统机型已经上线,有测试需求的同学可前往WeTest
Vue 动态添加路由及生成菜单这是我写过的一篇文章, 通过动态添加路由和菜单来做控制,不能访问的页面不添加到路由表里,这是其中一种办法。 /components/Login.vue') }, { path: 'home', name: 'home', meta: { /views/Home.vue') }, ] 页面控制 // 假设角色有两种:admin 和 user // 这里是从后台获取的用户角色 const role = 'user' // 在进入一个页面前会触发 网站一般只要登陆过一次后,接下来该网站的其他页面都是可以直接访问的,不用再次登陆。 redirect=${to.path}`) } } }) 上述所有实现,都可以在我的vue轻量级后台管理系统基础模板项目里找到
这篇文章只做总结,关于Vue的具体使用不涉及,因此你需要具备Vue的基础知识,使用Vue搭配Element-ui以及axios,看官方文档10分钟基本就能上手,学习成本很低。 首先初始化一个Vue项目,使用Vue-cli插件 #已安装忽略 npm install -g vue-cli vue init webpack newFile cd newFile # 下载依赖 ,可忽略 (ElementUI); axios使用(AJax) # 在main.js文件中添加 import axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, axios) axios.defaults.baseURL="http://localhost:8082/" 最后的视图 ? 这里要注意一个细节,在使用vue-cli的时候会提示安装测试组件,安装后会导致一些不必要的错误产生,看到错误就有点强迫症,可以关闭它的检测,也可以选择不安装,这样就可以少些烦恼了 ?
在 Vue 中,这种类型的组件也可以叫做函数式组件(Functional Component)。 同时你还会发现一个问题,由于其内部的渲染逻辑是通过 v-if 来描述的,实际上在 Vue 渲染完成后,会渲染两个 dom 节点,在切换时的状态从 devtool 中观察的效果大概是这样子的: ? 因此所有模板中用到的与 prop 相关的渲染逻辑,都要作出相应更改,比如原先的 on 要改为 props.on的形式,由于这里我们要移除 v-if 的渲染逻辑,因此直接移除即可,详细代码如下: // ToggleOn.vue toggle-on"><slot></slot>
学习内容 ⊙ 脚手架的介绍 ⊙ 脚手架2.x的创建 ⊙ 脚手架3.x的创建 ⊙ 脚手架3修改配置文件 脚手架的介绍 安装: npm i -g @vue/cli 安装完以后,如果我们还想用脚手架 2功能,就要拉取2.x的模板 npm i -g@vue/cli -init vue脚手架2初始化项目: vue init webpack my-project 现在初始化一个2.x版本的项目 这时候会有很多选项要我们确定 我的设置 然后就自动帮我们生成好文件 真的很强大,直接帮我们都配置好了,webpack的噩梦结束了hhh 脚手架3.x的创建 创建项目: vue create vue ui 我们在下载vue/cli的时候他就给我们下载了一个叫vue ui的东西,可以在本地服务上管理配置 只要在终端敲下vue ui即可 会自动帮我们打开浏览器 然后导入我们的vuecli3 这章写的不多,因为我想给vue-router写一章,因为他们每一章都比较重要,所以分开写
购物车案例 经过一系列的学习,我们这里来练习一个购物车的案例 需求:使用vue写一个表单页面,页面上有购买的数量,点击按钮+或者-,可以增加或减少购物车的数量,数量最少不得少于0,点击移除按钮,会移除该商品 /js/vue.js"></script> <style> table{ border: 1px solid #e9e9e9; border-collapse border-spacing: 0; } th,td{ padding: 8px 16px; border: 1px solid #e9e9e9 总价:{{totalPrice | showPrice}}
现在前后端分离,如果用户没登陆,会跳到登陆页面,但登陆后,很多时候直接跳回首页,而不是原来未登陆页面。 解决办法如下: 拦截登陆时,记录登陆前的地址 // 拦截响应response,并做一些错误处理 axios.interceptors.response.use((response) => { redirceUrl="+encodeURIComponent(window.kk); } } 如果没有登陆,就跳到登陆页,将记录原来的访问地址为redirceUrl,注意URL要编码encodeURIComponent ' }); } }); } 登陆成功后 至此,前后端分离登陆后跳回原访问地址功能已完成!
1.1 使用vue-cli创建项目 在命令行,到自己的vue工程存放的目录,运行一下命令,前提是vue-cli先安装好。 2.3 配置路由 router/index.js import Vue from 'vue' import Router from 'vue-router' import HelloWorld from vue.js有著名的全家桶系列:vue-router,vuex, vue-resource,再加上构建工具vue-cli,就是一个完整的vue项目的核心构成。 其中vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应,但在vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的 login.action', //登陆 'SYSTEM_USER_DOREG': '/userAction.action', //注册 //获取完整的请求地址 'getFullPath': k
2L4IZ3","pubkey":"EB2A38568661887FA180BDDB5CABD5F21C7BFD59C090CB2D245A87AC253062882729293E5506350508E7F9AA3BB77F4333231490F915F6D63C55FE2F08A49B353F444AD3993CACC02DB784ABBB8E42A9B1BBFFFB38BE18D78E87A0E41B9B8F73A928EE0CCEE1F6739884B9777E4FE9E88A1BBE495927AC4A799B3181D6442443 新浪微博的用户名加密目前采用Base64加密算法,而新浪微博登录密码的加密算法使用RSA2,这是模拟登陆的重点,需要先创建一个rsa公钥,公钥的两个参数新浪微博都给了固定值,第一个参数是登录第一步中的pubkey = base64.b64encode(username_quote.encode("utf-8")) return username_base64.decode("utf-8") # 预登陆获得 userID = re.findall(weibo_pa, weibo_page.content.decode("utf-8", 'ignore'), re.S)[0] print(u"欢迎你 %s, 登陆成功
>
这样就可以实现绑定 而且他后面也有很多功能,比如.lazy,惰性更新,只有焦点离开才会更新
将目标服务器代理到本机开发服务端口,可用于跨域调用数据接口 优先取用项目中存在的资源 参考文档 webpack-dev-server vue-cli-dev-server 配置 vue.config.js
僵死之日(英文名ZomDay)将于9月15日正式登陆7663VR竞技平台,届时,玩家朋友们将可以在安装有7663VR竞技平台的线下店里体验到这款纯国人打造3A级VR射击游戏。 目前,《僵死之日》(ZomDay)将于9月15日正式上线7663VR竞技平台,作为全国唯一的战网平台,相信玩家们能在7663上与小伙伴一起纵情享受杀戮僵尸的快感! ?
在港交所上市首日,纳芯微H股股价便出现破发,盘中跌幅一度超过9%,截至12月8日收盘,股价下跌4.31%,收于111港元/股。同日,纳芯微A股则下跌了1.6%,收于155.74元人民币/股。
Ant Design Vue 官方网站:https://2x.antdv.com/components/overview/ Ant Design Vue 是一个非常成熟的框架,使用 Ant Design Vue 创建用户界面非常简单,这些组件可以适应各种图标样式、字体和黑色主题。 企业级响应式 Vue3 应用程序不错的选择。 Vuestic 官方网站:https://vuestic.dev/ Vuestic 是 Vue 最漂亮的开源管理面板之一,擅长编写可维护的 Vue 代码,制作灵活的组件和接口。 总结 随着生态系统的迁移,从 Vue2 迁移到 Vue3 将变得更加容易,因此,借助 Vue3 提供的API和响应性,并结合这些 UI 框架将会让项目开发变得更好、更快、更灵活。
通过vue全局api set进行第一次点击增加商品按钮时候的设置。 https://cn.vuejs.org/v2/api/#Vue-set <template>
Ant Design Vue Ant Design Vue 是一个非常成熟的框架,使用 Ant Design Vue 创建用户界面非常简单,这些组件可以适应各种图标样式、字体和黑色主题。 Wave UI WaveUI 在Vue3 发布后进行了良好的定位,WaveUI 的开发是在 Vue3 仍处于alpha阶段时就开始了,其目标是在其API稳定后立即支持它,使其成为首批 Vue3 UI框架之一 企业级响应式 Vue3 应用程序不错的选择。 Vuestic Vuestic 是 Vue 最漂亮的开源管理面板之一,擅长编写可维护的 Vue 代码,制作灵活的组件和接口。 Element+ Element+ 已经在 Vue2 中声名鹊起,Element+ 为 Vue3 带来了大量不引人注目的组件,创建一个非常复杂的应用程序所需的大部分内容都已经制作完成并可供使用。 总结 随着生态系统的迁移,前端培训从 Vue2 迁移到 Vue3 将变得更加容易,因此,借助 Vue3 提供的API和响应性,并结合这些 UI 框架将会让项目开发变得更好、更快、更灵活。
val.toString === _toString) JSON.stringify(val, null, 2) : String(val) } 9、
启用密钥登陆 Esxi的默认密钥文件路径为 /etc/ssh/keys-%u/authorized_keys 将生成的公钥通过scp传递并覆盖该文件,默认即可启用 禁用密码登陆 Esxi的ssh的配置文件为 /etc/ssh/sshd_config 但是,该文件缺少很多默认选项,需要手动添加如下选项,以禁止密码登陆 ChallengeResponseAuthentication no PasswordAuthentication