JS,CSS基础

React部分

 

*props是用来组件之间传值
state是组件内的状态机
属性和状态,本来就各不相干
各司其职

JS,CSS基础_第1张图片

*每次更改state之后会再次进入render渲染页面。所以尽量避免分开使用setState,如果业务上确实需要分开设置state。可以将render中的动态的部分抽离为子组件,再将父组件的值作为参数传到子组件中,子组件用ComponentReceiveProps接收参数,再在子组件的render中渲染页面。

CSS选择器:伪类(图文详解)

componentWillReceiveProps(nextProps){}

在组件接收新props时调用。初始渲染不调用此方法。老的props可以用this.props  新值就用nextProps查看 ,在此函数中调用this.setState()不会触发附加的渲染。

react 子组件获取父组件传来的 props 问题

React组件的生命周期

axios的使用

如果后台使用@RequestParam在axios中使用params传参,如果后台使用@RequestBody在axios中使用data传参。

Vue部分

*Vue父组件向子组件传值

*Vue子组件向父组件传值

*Vue组件中slot的用法

*vue之this.$route.params和this.$route.query的区别

*this.$route和this.$router的区别

*v-if和v-show的区别

*增强型JS->Lodash

*Promise API

*axios的使用

*vue async/await

* js异步回调Async/Await与Promise区别

*v-bind的意义

*vue + elementui表单重置 resetFields问题(无法重置表单),我遇到的问题这里面没有,我遇到的问题是prop用v-bind绑定了(实际上我是用的简写的“:”),其实并不需要绑定;而且form表单的:model和ref都不能少,前者用于绑定表单数据,后者用于ref获取元素

* ElementUI的el-tree控件后台数据结构的生成以及方法的抽取

*深入理解vue中的slot与slot-scope

*Vue.js作用域插槽的理解和应用

*在vue.js中,计算属性和方法达到的效果是一样的,但是计算属性是基于依赖进行缓存的,只有message发生改变才会导致reverseMessage发生改变,只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数;而方法是每次调用都会执行。

*Mustache 语法(双花括号)不能作用在 HTML 特性上,遇到这种情况应该使用 v-bind 指令:
```


```
*v-bind 指令用于响应地更新HTML特性,形式如:v-bind:href,缩写为 :href;
v-on 指令用于监听DOM事件形式如:v-on:click,缩写为 @click;

*v-bind和v-model的区别

*windows安装vue.js
http://www.jb51.net/article/108889.htm

*vue 路由传参中刷新页面参数丢失 及传参的几种方式?

*详解vue组件三大核心概念

*ES6、ES7、ES8、ES9、ES10新特性一览

*js判断数据类型的四种方法

*CSS总结div中的内容垂直居中的五种方法

*JavaScript学习--Item9 call(),apply(),bind()与回调>>点击打开链接

*前端通用埋点方案

*CSS总结div中的内容垂直居中的五种方法

*两个div并排,两个div的style:display="inline-block",如果设置为display="inline",margin-top会失效,因为inline是行内元素,会把所有东西放在一列,而inline-block是块级元素,可以控制其长宽.

*z-index起作用的前提是position:relative

*浅谈ajax上传文件属性contentType = false>>原文内容

*解决iframe嵌套页面,外部页面禁用滚动条

假如有这么个iframe:

要实现隐藏垂直滚动条但保留滚动功能,需要在html5-demo.html页面中添加:

*EL表达式forEach中varStatus属性的作用:就拿varStatus=“status”来说,事实上定义了一个status名的对象作为varStatus的绑定值。该绑定值也就是status封装了当前遍历的状态,比如,可以从该对象上查看是遍历到了第几个元素:${status.count},原文链接:点击打开链接

前端面试

一名【合格】前端工程师的自检清单

【JS进阶】你真的掌握变量和类型了吗

每个前端工程师都应该了解的图片知识

*ajax有哪些回调函数》原文内容

jquery ajax回调函数带入参数》原文内容

*送你43道JavaScript面试题

*css样式在html中有三种存在形态:
内联样式:


内部样式:
外联样式:
三者的优先级为:内联样式>内部样式>外联样式。

*如何使得一行中的两个组件水平对齐

vertical-align:top;

display:inline-block;

margin-top:5px;

*button和input的区别:button有提交的效果,如果只需要绑定id事件,尽量避免使用button,否则会出现很诡异的绑定事件无效的情况.

*

                
			

*readystate有几个状态

包含 5 种可能的值,对应常数表如下:
0 WebBrowserReadyState.UnInitialized(未初始化,默认): WebBrowser 对象已经创建,但不包含文档。
1 WebBrowserReadyState.Loading(载入):已经导航到新的文档,但尚未发送请求。
2 WebBrowserReadyState.Loaded(载入完成): 请求已经发送完成。
3 WebBrowserReadyState.Interactive(交互):可以接收到部分响应数据。
4 WebBrowserReadyState.Complete(完成):已经接收到了全部数据,并且连接已经关闭。
上面的常量是包含在 System.Windows.Forms 命名空间下的,这个命名空间是默认声明好的。
其实如果是判断网页是否加载完成,应该用 WebBrowser 的 DocumentCompleted 事件来判断。
用 ReadyState 也可以吧,加个 Timer 反复判断它的值就好。
IfWebBrowser1.ReadyState=4Then'4也可以写成WebBrowserReadyState.Complete
Msgbox("加载完毕")
EndIf

*on和bind的区别:http://blog.csdn.net/aitangyong/article/details/43673535

*jquery中html()和append()的区别:前者是替换,后者是追加

*em和px的关系:em=px/16

*网上都说, 用$.ajax + formdata 上传文件很容易啊,只要别忘记设置 processData: false . 确实,如果不设置 processData: 
false,jquery直接报错,分分钟死给你看。但当我向Django发送某个携带了文件的表单时,根本就是错得连 csrfmiddleware 都过不去啊!
在 csrfmiddleware 里面打上断点,request.POST 里面空空如也,什么表单数据都没有!
原因也很好解释,processData=false 就是不处理formdata的数据,网上的解释都很好听,但实际上呢?! Django 什么数据都没有收到!

*我们在 form 标签中设置了enctype = “multipart/form-data”,这样请求中的 contentType 就会默认为 multipart/form-data 。而我们在 ajax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件。

*JavaScript中三种弹出式消息提醒的命令是什么?(如:警告,确认,信息输入)alert,confirm,prompt

*Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而 readonly会将该值传递出去(这种情况出现在我们将某个表单中的textarea元素设置为disabled或readonly,但是submit button却是可以使用的)。 

*jquery中prop和attr的区别

http://www.cnblogs.com/Showshare/p/different-between-attr-and-prop.html

*jquery中数组的使用

http://www.jb51.net/article/76601.htm

*jquery如何获取复选框的值

http://www.jb51.net/article/44397.htm

var ids=new Array()
	$('input[name="ids"]:checked').each(function(){ 
	ids.push($(this).val()); 
}); 

*JQuery checkbox选中

$("#sendSmsUnderwrite",$("#doFormUpdate")).prop("checked",true);

*JQuery checkbox反选

$("#selectAll").unbind("click").bind({
	click : function() {
		$("[name='ids']").each(function() {// 反选
			if ($(this).prop("checked")==false) {
				$(this).prop("checked",true);
			} else {
				$(this).prop("checked", false);
			}
		});
	}});

*JS序列化

前端页面表单提交后台用js序列化可以极大地减少字段的书写,节省开发时间,但条件是必须要要有name属性;

后端接收前端传来的数据时,为了减少字段的书写,可以用对象接收前端传来的数据,(但条件是前端除了使用序列化之外还要指定dataType:'json',这句话还有待商榷,因为我后面去掉dataType后台也能将接收到的数据转为对象,如果接收不到,可以用dataType='json'试试)

*Bootstrap

重置按钮只要将form表单中的按钮type=reset即可

modal:http://www.jb51.net/article/83084.htm

data-toggle 表示触发类型
data-target 表示触发的节点

data-dismiss="modal":

如果你的modal弹窗里面加上这个按钮,那么点击则会关闭当前弹窗,关键在于data-dismiss="modal",它让按钮有了这个功能。这是bootstrap.js中MODAL插件相关代码中定义的:

aria-hidden="true":

现代的辅助技术能够识别并朗读由 CSS 生成的内容和特定的 Unicode 字符。为了避免 屏幕识读设备抓取非故意的和可能产生混淆的输出内容(尤其是当图标纯粹作为装饰用途时),我们为这些图标设置了 aria-hidden="true" 属性。
如果你使用图标是为了表达某些含义(不仅仅是为了装饰用),请确保你所要表达的意思能够通过被辅助设备识别,例如,包含额外的内容并通过 .sr-only 类让其在视觉上表现出隐藏的效果。
如果你所创建的组件不包含任何文本内容(例如,

你可能感兴趣的:(JS,CSS基础)