发表于: 2016-10-15 11:15:16
1 1914
今天完成的事情:1.完成支付宝跳转链接出错(其实看了半天和我没什么关系,原因出在后端),2.完成职业列表图片上传模块(其实也和我没什么关系,应该是沁修姐谢了自定义指令在项目里,我就改了一下后端接口和接收字段)3.没了= =。。感觉看了一天啥也没干
明天计划的事情:1.总结一下图片上传的方法,2.看面试题,3.修改昨天古尘师姐给的薪资样式。
还没写完,但是快中午了,先这样吧
如何自定义指令directive
首先我们先来列出的directive中的几个属性:
restrict:
- E: 表示该directive仅能以element方式使用,即:<my-dialog></my-dialog>
- A: 表示该directive仅能以attribute方式使用,即:<div my-dialog></div>
- C:表示该directive仅能以class方式使用,即:<div class= "my-dialog"></div>
- EA: 表示该directive既能以element方式使用,也能以attribute方式使用。
transclude:当directive可能接受页面上的其他html内容时才会用到,建议你先去掉该参数。有些高阶了。
scope:当你写上该属性时,就表示这个directive不会从它的controller里继承
templateUrl:你的directive里的html内容(注意使用引号和折行符)。
link:
- 可以简单理解为,当directive被angular 编译后,执行该方法。
- 类似于在directive里需要调用dom元素中把方法写在link里面(不知道这样理解是否正确)。
- link中有几个参数,scope, element, attrs。分别表示:1.scope表示directive里的scope;2.element表示directive创建的元素;3.attrs表示这个创建的元素的其他属性。(如:type,title这些的)
FormData()
FormData其实是一个HTML5的对象,用来当需要传输文档或者图片时,新建一个空的对象,然后把要上传的文件插入空对象中
同时,注意,formdata是一个不透明的对象,现在暂时只有一个append可以操作,不能通过序列化手段得到其里面的内容,所以console.log是无法输出可见的数值的。
var oMyForm = new FormData(); //新建一个空的FormDate对象
oMyForm.append("username", "Groucho");//插入两个字符串
oMyForm.append("accountnum", 123456); // 数字123456被立即转换成字符串"123456"
// fileInputElement中已经包含了用户所选择的文件 <input type="file" />用来选择文件
oMyForm.append("userfile", fileInputElement.files[0]);
var oFileBody = "<a id="a"><b id="b">hey!</b></a>"; // Blob对象包含的文件内容
var oBlob = new Blob([oFileBody], { type: "text/xml"}); //blob是oFileBody 的一个实例
oMyForm.append("webmasterfile", oBlob); //把oblob插入进去
//现在formdate中
var oReq = new XMLHttpRequest();
oReq.open("POST", "http://foo.com/submitform.php");
oReq.send(oMyForm);
评论