2017.8.20v-model、forEach、DOM操作

二维码

字符串太长没办法识别,选择了使用较短的字符串(与后台协商解决)

输入框——v-model

问题:v-model绑定的输入框,输入框中的值改变了,数据并没有得到相应。
解决:1.利用原生js操作手动改变值2.使用v-model.lazy
修饰符.lazy,转变成在change事件中同步(在默认情况下,v-model在input事件中同步输入框的值与数据 )

<!-- 在 "change" 而不是 "input" 事件中更新 -->
<input v-model.lazy="msg" >

forEach

第一次在项目中使用forEach,感觉挺好用的。
forEach方法中的function回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身.
each和map的使用方法类似(下次可以尝试新的用法)

comData.materials.forEach(function(value,index){
    var accepNums = document.getElementsByClassName('accepNum');
    comData.materials[index].shipmentqty = accepNums[index].value;
});

获得input中的value值方法

原生js:

var obj = document.getElementById("test");
var test = obj.value;

jQuery方法

$("#text").val();
$("input[name = 'test']").val();
$("input[type = 'text']").val();
$("input[type = 'text']").attr(value);

querySelector与querySelectorAll的总结

  • querySelector返回的值为满足条件的是第一个元素(node),而querySelectorAll()返回的是所有的元素(nodelist)
  • 在没有满足的情况下,querySelector返回null,querySelectorAll返回的是空的数组

获取页面ID为test的元素:

document.getElementById("test");
//or
document.querySelector("#test");
document.querySelectorAll("#test")[0];

获取页面class属性为”red”的元素:

document.getElementsByClassName('red')
//or
document.querySelector('.red')
//or
document.querySelectorAll('.red')

使用原生js动态设置CSS

一开始先设置为hidden

var app = document.getElementById('app');
app.style.visibility = "hidden";

加载完成后设置为visible

var app = document.getElementById('app');
app.style.visibility = "visible";
Object.style.visibility=visible|hidden|collapse

vue基础总结

关于异步

公司封装好的请求能否避开异步请求导致的错误

js获取节点 dom操作

常用方法总结:

createAttribute() //用指定的名字创建新的Attribute节点
createElement()//用制定的标记名称创建新的element节点

属性:

childNodes//以Node[]的形式存放当前节点的子节点。如果没有子节点,则返回空数组。
firstChild//以Node的形式返回当前节点的第一个子节点。如果没有子节点,则为null。
lastChild// 
以Node的形式返回当前节点的最后一个子节点。如果没有子节点,则为null。
nextSibling//以Node的形式返回当前节点的兄弟下一个节点。如果没有这样的节点,则返回null。下一个兄弟节点
previousSibling//上一个兄弟节点
parentNode//父节点

方法:

appendChild()//通过把一个节点增加到当前节点的childNodes[]组,给文档树增加节点。
hasChildNodes()//如果当前节点拥有子节点,则将返回true。
insertBefore()//给文档树插入一个节点,位置在当前节点的指定子节点之前。如果该节点已经存在,则删除之再插入到它的位置。
removeChild()// 从文档树中删除并返回指定的子节点。
replaceChild()//    从文档树中删除并返回指定的子节点,用另一个节点替换它。

空的object

JavaScript如何判断一个对象{}是否为空对象,没有任何属性

var a = {};
if(!a){ console.log(1);}
else if(a == null) { console.log(2);} 
else { console.log(3);}//3
var b = {};
if(b == {}){ console.log(4);}
if(b == '{}') { console.log(5);} 
if(typeof(b) == 'object') { console.log(6);}//6

判断方法:JSON.stringify()

var c = {};
if(JSON.stringify(c) == "{}"){ console.log(7);}
var c = {};
if(JSON.stringify(c) == "{}"){ console.log(7);}

关于html5+

html5+是hbulider利用自己的IDE结合不同平台的接口再加上html5的东西开发出来的一套框架,它有自己的使用规范,它允许和提供了一些接口和函数来让web开发者实现原声app所能实现的功能

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,179评论 25 708
  • JavaScript 将字符串转换为数字 parseInt() ◆只保留数字的整数部分,不会进行四舍五入运算。 ...
    AkaTBS阅读 1,001评论 0 9
  • 毕竟他几乎骨头卡
    d367c2907a17阅读 78评论 0 1
  • 将土豆、胡萝卜洗干净,去皮,切成小块备用! 将准备好的胡萝卜块和土豆块放入蒸锅中蒸熟,大小切得均匀一点哦 将猪里脊...
    九阳女鬼阅读 158评论 0 0
  • Objective-C 编码规范,内容来自苹果、谷歌的文档翻译,自己的编码经验和对其它资料的总结。 概要 Obje...
    狼凤皇阅读 538评论 0 1