发表于: 2017-03-24 00:02:32
1 1005
今日完成的事情:
1、完善【前台-我的邀请】的分享功能;
2、和杨泽平讨论如何来写【学习资料-资料预览】;
3、听武旻姐讲关于草船云项目的需求。
明天计划的事情:
1、继续测试和完善【后台管理-用户管理】的精确搜索和模糊搜索功能、【我的学院-我的邀请】邀请名单和后台展示的数据是否一样;
2、写【学习资料-资料预览】这一模块或【客卿直言】的分享功能,有待进一步确认。
遇到的问题:
和杨泽平讨论【资料学习-资料预览】的写法,有以下两点需要说明。第一点就是获取数据进行展示。最开始的时候我们用的是剥洋葱的
方法,一层一次的展示,直到叶子节点为止。后来又讨论了另外一种写法,就是向后台一样把数据一次性获取,但是通过ng-if来有选择
的展示数据。通过点击内容触发ng-if,进一步展示下一层的数据。第二点需要说明的是个难点,就是怎样把每一层点击的内容通过面包
屑来展示出来,展示出来怎么点击上一级,然后回到上一级或者前几级。因为后台返回的数据没有parentName或者parentId,导致数据只
能从上到下遍历,而无法从下到上遍历。当时和杨泽平说了一种我的想法,就是新建一个数组,首先把父节点的id通过push()添加到数
组进行保存,这样就可以获得一条关于id的“链条”,实现从下到上反向获取相关数据。
收获:
1、学习了ng-init的用法;
2、学习了javascript原生获取属性值的两种方法,第一种是针对ie浏览器的currentStyle,第二种是针对其他浏览器的completeStyle方法;
3、学习了ng-include搭配ng-templete的用法,具体如下:
引入ng-include和模板ng-template是定义和使用HTML代码碎片的功能。用于将HTML切碎分别存储,并根据需求再去获取对应的代码块,达到加速访问和代码复用的效果。
引入ng-include
当HTML代码过于复杂,或者期望建立单页应用(Single-page Application - SPA)时,需要将部分HTML打包成独立的文件。这时候,我们在引入这个独立HTML文件时,可以使用ng-include功能。
使用方法如下:
<!-- 直接传入一个网页的地址,请注意这里的使用用法 -->
<!-- 'view/part.html' 外部有单引号 -->
<div ng-include="'views/part.html'"></div>
<!-- 假设$scope中有template:{url:"http://..."}这个对象 -->
<div ng-include="template.url"></div>
<div ng-include="getUrl()"></div>
从上面的例子可以看出,ng-include支持直接传入静态文本、传入变量、传入函数(返回网页地址)的方式来进行调用。
另外,ng-include的用法也可以直接作为标签名使用,如:
<div data-ng-include="'views/part.html'"></div>
<ng-include src="'views/part.html'"></ng-include>
这些用法的效果都是一样的。
其他属性
除此之外,ng-include还有onload和autoscroll的属性。
模板ng-template
ng-template用于将多个HTML片段存放于一个HTML文件中。并且可以根据需求分别调用其中的某一个片段。
ng-template的用法如下:
<script type="text/ng-template" id="html_part.html">
<!-- HTML片段的实际内容 -->
</script>
ng-template需要将<script>的type设置为text/ng-template,然后给他配置一个id。这个id就是这段HTML代码被引用时的名称。
使用ng-template代码片段的方法就是上诉的ng-include方法,例如:+
<div ng-include="'html_part.html'"></div>
PS:昨天和杨泽平讨论问题,不知不觉弄到过了十二点,所以昨天没写日报。凌晨写日报,但由于网络欠费无法提交,所以早上弄好网络才提交成功。
评论