发表于: 2017-05-24 23:31:38

1 810


今天完成的事情:

今天先是学习了AngularJS文件上传和Angular File Upload模块,对比了一下,AngularJS的文件上传代码量很大,很复杂,需要定义fileModel指令,注入$parse服务,定义fileUpload服务和uploadFileToUrl()方法,最后通过$http.post()方法把文件信息提交到客户端。

相比之下Angular File Upload模块就显得精简很多,支持的功能也很多。只要引入angular-file-upload.js文件,再写很少一部分代码就能实现上传功能。

我照着书上的例子写了个demo,确实能把图片上传到服务器,但是把代码搬到我的任务里时却出了问题。遇到了一个又一个bug。

明天计划的事情:

再看看其他的代码,找找问题原因,实在不行就先跳过。

遇到的问题:

一开始是引入了angular-file-upload.js文件后,从登录页面进入后整个articleList列表页都不见了,点击左侧sidebar里的链接也都没反应。F12的console提示"angular file upload failed to parse SourceMap:http:xxx"

看了一下好像是引入的js文件有问题,百度了一下,说是因为网站引用的第三方的angular是压缩后的版本,而且有sourcemap的指向信息,而我的网站没有相应的map文件,所以抛出此异常。据说这种情况多出现于引入min.js文件时。但我之后换成未压缩的或者是cdn的链接都还会出现那个提示。这时又百度到一个人说出现这种提示无伤大雅,不会产生什么功能上的错误,想让提示消失的话可以进入F12=>setting=>sources=>

Enable JavaScript source maps把这一项的钩去掉就行了。去掉后这个提示果然消失了,但是又出了新问题,“Argument  xxxcontroller is not a function, got undefined”我的新增页面的控制器不起作用。

最早的时候我的控制器是写在main.html的body里的,后来做分页的时候相博说控制器要放在ui-view里面,不然点击页码后不能重载数据,也就实现不了翻页。但现在看来ui-view里只有列表页的控制器能生效。我后来又给其他的view写了些简单的控制器,里面写个$scope.hello = hello;之类的,结果也失效。目前看来问题就处在ui-view和controller这一点了。

收获:

面对这种情况我只能安慰自己失败是成功之母了,不知道为什么我这种问题相博和雪峰都没有遇到过,因为没有遇到过,所以也不会解决。看代码的话是没什么问题,但问题一定存在,找些没有问题的代码比对一下应该会更容易发现问题所在。



返回列表 返回列表
评论

    分享到