04 2022 档案
摘要:1. 给要验证的实体类添加特性 如: 2. 前台验证 引入相关js后,即可调用方法验证。 $("#HiddenForm").valid() MVC5的模板里母板里会自动进行验证。不用手动调用。 3. 后台控制器验证 只需要在控制器的参数类型设置为设置了模型验证的类,这样后台才可以去做验证
阅读全文
摘要:在Startup类的Configure方法里调用两个终端中间件也只会运行第一个,因为终端中间件会让管道短路。 如下图:调用两个终端中间件Run,但是实际上运行也只会执行第一个Run中间件。
阅读全文
摘要:线程安全 本地状态(Local)和共享状态(Shared) Local本地独立: CLR为每个线程分配自己的内存栈,以便使本地变量保持独立。 static void Main(string[] args) { new Thread(Go).Start();//在分线程上 调用Go() Go();//
阅读全文
摘要:1.Thread 什么是线程Thread 线程是一个可执行路径,它可以独立于其它线程执行。 每个线程都在操作系统的进程(Process) 内执行,而操作系统的进程提供了程序运行的独立环境。 单线程应用,在进程的独立环境里只跑一个线程,所以该线程拥有独占权。 多线程应用,单个进程中会跑多个线程,它们会
阅读全文
摘要:中间件(Middleware) 在asp.net core中, 中间件是可以处理hppt请求或者响应的管道。它是服务于整个应用管道之中很重要的过程。比如:要处理用户权限的验证和拦截一些用户的异常给用户友好提示等都要用中间件做处理。 在 ASP.NET Core 中,你可以使用 Middleware
阅读全文
摘要:在asp.net里,要配置项目的配置信息(比如数据库连接字符串等)都只有放入WebConfig配置文件里,但是在.net core的项目里可以通过很多地方来配置这些信息。比如appsettings.json。 asp.net core 中的配置源:
阅读全文
摘要:1. launchSettings.json 该文件用来配置在本地开发过程中,asp.net core项目里的各种开发配置相关的信息。
阅读全文
摘要:1. 运行 ASP.Net Core项目的两种方式 ①使用 visual studio IED启动运行 ②命令行方式: 在 Web 项目所在的文件夹中运行:dotnet run 2. 托管设置 设置项目文件的AspNetCoreHostingModel属性 <PropertyGroup> <Targ
阅读全文
摘要:1. asp.net core项目的Main方法 2. Startup配置类的两个主要方法 2.1. ConfigureServices方法 用于配置应用程序需要的服务和内容。比如说第三方的插件或者自己封装的一些自定义内容等。都通过该方法进行调用。 2.2. Configure方法 该方法主要用来管
阅读全文
摘要:1. 双项目名即可看到asp.net core项目的配置文件 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHosti
阅读全文
摘要:1.移动端常用 UI 组件库 Vant https://youzan.github.io/vant Cube UI https://didi.github.io/cube-ui Mint UI http://mint-ui.github.io 2.PC 端常用 UI 组件库 Element UI h
阅读全文
摘要:①将vue项目里的代码打包。 打包目的:浏览器不认识vue文件和vue里的template标签和引入模块的js代码。所以要打包,将vue项目转为纯粹的html、js、css文件。 如果用脚手架写的项目,即可不用安装webpac包进行打包,和 用bable进行js代码的转换。直接用npm run bu
阅读全文
摘要:1.两个新的生命周期钩子 作用:路由组件所独有的两个钩子,用于捕获路由组件的激活状态。 具体名字: activated路由组件被激活时触发。 deactivated路由组件失活时触发。 如,在一个路由里的某个数据,在切换到另一个路由对应的组件后,里面的数据还保留,也就是不销毁原来的组件,但是需要关闭
阅读全文
摘要:1.replace属性 <router-link>的replace属性 作用:控制路由跳转时操作浏览器历史记录的模式 浏览器的历史记录有两种写入方式:分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push 如何开启replace模式:<rou
阅读全文
摘要:1.路由的query参数 传递参数 <!-- 跳转并携带query参数,to的字符串写法 --> <router-link :to="/home/message/detail?id=666&title=你好">跳转</router-link> <!-- 跳转并携带query参数,to的对象写法 --
阅读全文
摘要:1、相关理解 1.1、vue-router的理解 vue的一个插件库,专门用来实现SPA单页面网站应用 1.2、对SPA应用的理解 1、单页 Web 应用(single page web application,SPA)。 2、整个应用只有一个完整的页面。 3、点击页面中的导航链接不会刷新页面,只会
阅读全文
摘要:1、理解Vuex 1.1、Vuex是什么? 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。 1.2.何时使用? 多个组件需要共享数据时 1.3.Vuex工作原理 1,具体流程: 插件
阅读全文
摘要:1、vue脚手架配置代理 是用代理服务器可以解决跨域问题。 解决跨域: 方式1:后端使用cors服务器里返回一些相应头回来解决。 方式2:jsonp 方式3:代理服务器。因为代理服务器也是服务器。和后端服务器一样。服务器之间通信是用的http请求。 ajax是前端技术。前端和服务器通信才会有跨域问题
阅读全文
摘要:1、nextTick vue里特殊的生命周期钩子。 语法:this.$nextTick(回调函数) 作用:在下一次 DOM 更新结束后执行其指定的回调。 什么时候用:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行。 比如:修改了vm的data中的数据要
阅读全文
摘要:1、全局事件总线(GlobalEventBus) 一种组件间通信的方式,适用于任意组件间通信。 安装全局事件总线: new Vue({ ...... beforeCreate() { Vue.prototype.$bus = this //安装全局事件总线,$bus就是当前应用的vm }, ....
阅读全文
摘要:1、webStorage(js在浏览器的本地存储) 存储内容大小一般支持5MB左右(不同浏览器可能还不一样) 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。 相关API: ①. xxxxxStorage.setItem(
阅读全文
摘要:src\App.vue <template> <div id="root"> <div class="todo-container"> <div class="todo-wrap"> <MyHeader :addTodo="addTodo"/><!-- 父组件向子组件传递一个函数,然后子组件调用这个
阅读全文
摘要:1、ref属性 被用来给元素或子组件注册引用信息(id的替代者) 应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc) 使用方式: a. 打标识:<h1 ref="xxx">.....</h1> 或 <School ref="xxx"></School> b. 获取:t
阅读全文
摘要:1、初始化脚手架 1.1、说明 vue-cli是Vue官方提供的脚手架工具。 cli:command line interface命令行接口工具。 Vue脚手架是Vue官方提供的标准化开发工具(开发平台) 最新的版本是4.X 文档:https://cli.vuejs.org/zh/ 1.2、安装vu
阅读全文
摘要:1、模块与组件、模块化与组件化 模块 a. 理解:向外提螃定功能的js程序,一般就是一个js文件 b.为什么要使用模块:js文件很多很复杂 c.作用:复用、简化js的编写,提高js运行效率 组件 a.定义:用来实现局部功能的代码和资源的集合(html/css/js/image...) b.为什么:一
阅读全文
摘要:生命周期 1、引出生命周期 生命周期 1.又名:生命周期回调函数、生命周期回调函数、生命周期钩子。 2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数。 3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。 4.生命周期函数中的this指向是vm实例 或 组件实例对象。
阅读全文
摘要:1、内置指令 学过的指令: v-bind : 单向绑定解析表达式, 可简写为 :xxx v-model : 双向数据绑定 v-for : 遍历数组/对象/字符串 v-on : 绑定事件监听, 可简写为@ v-if : 条件渲染(动态控制节点是否存存在) v-else : 条件渲染(动态控制节点是否存
阅读全文
摘要:1、收集表单数据 收集表单数据 若:<input type="text"/>,则v-model收集的是value值,用户输入的就是value值。 若:<input type="radio"/>,则v-model收集的是value值,且要给标签配置value属性。 若:<input type="che
阅读全文
摘要:1列表渲染 1.1、基本列表 v-for指令 用于展示列表数据 语法: <li v-for="(item,index) in items " :key="index"> ,这里 key 可以是 index ,更好是遍历的对象的唯一标识。 可遍历:数组、对象、字符串(用的少)、指定次数(用的少) <!
阅读全文
摘要:1、绑定样式 写法::class="xxx",xxx可以是字符串、数组、对象 :style="[a,b]"其中a、b是样式对象 :style="{fontSize: xxx}"其中 xxx 是动态值 字符串写法适用于:类名不确定,要动态获取 数组写法适用于:要绑定多个样式,个数不确定,名字也不确定
阅读全文
摘要:1、计算属性 案例: 在两个文本框输入值影响下面的全名: 1.1、插值语法实现: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE
阅读全文
摘要:1、事件处理 1.1、事件的基本用法 使用v-on:xxx或@xxx绑定事件,其中xxx是事件名 事件的回调需要配置在methods对象中,最终会在vm上 methods中配置的函数,不要用箭头函数,否则this就不是vm 了 methods中配置的函数,都是被Vue所管理的函数,this的指向是v
阅读全文
摘要:属性的描述对象 描述对象指的是:通过Object.create方法或者使用{}创建对象时,属性的描述的结构,也就是用来描述属性的对象,这个对象里面包括了属性的值和属性的一些特性。如: //第一个参数是原型对象,第二个参数是描述对象,也就是这个对象的属性。 let obj=Object.create(
阅读全文
摘要:1、MWM模型 mvvm模型:就是把数据和dom通过一个中间对象进行连接。 M:模型Model, data中的数据,把它当作一个单独的模块,不属于VM,因为VM对象里会将它复制一份在里面作为数据代理。data里的数据改变vue会重新解析模板。 V:视图View,模板代码 VM:视图模型ViewMod
阅读全文
摘要:el与data的两种写法 el绑定容器有2种写法 a.创建Vue实例对象的时候配置el属性,vue对象创建时就绑定。如: b.先创建Vue实例,随后再通过vm.$mount( '#root')指定el的值。如: data有2种写法 a.对象式:data: { } b.函数式:data() { ret
阅读全文