发表于: 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里继承scopeangular scope。

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是无法输出可见的数值的。

  1. var oMyForm = new FormData();  //新建一个空的FormDate对象
  2. oMyForm.append("username", "Groucho");//插入两个字符串
  3. oMyForm.append("accountnum", 123456); // 数字123456被立即转换成字符串"123456"
  4. // fileInputElement中已经包含了用户所选择的文件  <input type="file" />用来选择文件
  5. oMyForm.append("userfile", fileInputElement.files[0]);  
  6. var oFileBody = "<a id="a"><b id="b">hey!</b></a>"; // Blob对象包含的文件内容
  7. var oBlob = new Blob([oFileBody], { type: "text/xml"});   //blob是oFileBody 的一个实例
  8. oMyForm.append("webmasterfile", oBlob);  //把oblob插入进去
  9. //现在formdate中
  10. var oReq = new XMLHttpRequest();
  11. oReq.open("POST", "http://foo.com/submitform.php");
  12. oReq.send(oMyForm);



返回列表 返回列表
评论

    分享到