发表于: 2017-06-06 21:36:52

0 1241


今天完成的事情:

测试接口,评完日报就开始测接口,搞了俩小时没弄好,然后看上次复盘的人怎么传的这个奇怪的参数,然后感觉他们写的比较乱,虽然我写的也不怎么样,但还是看不懂他们的,于是去postman测试并联系后端同学,最后得知需要传入一个对象,对象里两条参数,1是公司信息,还是个对象,然后各种参数2是公司标签,最后以json形式传送出去。知道这些信息后,还是又搞了两个小时才终于在浏览器内走通了这个接口,虽然知道是这么个格式,但还是传了很多错误的格式才测试成功。 (因为要讲小课堂,没有准备好又想赶紧做项目,有点儿心烦意乱)。

明天计划的事情:

是时候加紧步伐了,但是好像模块管理突然跳出来一大块。需求讲解根本没讲,导致方案设计被问到一脸懵逼。

收尾公司列表,然后努力完成职位编辑,毕竟两块页面相通的地方很多,本来这是计划今天做的,结果接口影响的时间略长,又飞来横祸小课堂。

遇到的问题:

为了寻找拖动的东西,以前只是学习上传图片的时候发现了拖动文件进入某个区域,了解到有拖动属性,然后以这个为方向开始搜索,找到了sortable,然后以sortable为起点开始寻找,效果挺好,找到例子后开始写,由于酷爱cdn的毛病,下载来的sortable各种不用,随便在cdn找了个sortable就开始用(以为只有一个sortable),最后发现每次引入cdn的sortable就各种报错,要么是sortable不是个函数,要么是sortable不是构造函数,最后一个例子忘记引用cdn的sortable了,成功了,才确定是引用错误,然后cdn列表往下一拉,发现十几个sortable。这次要长个记性了。

收获:

没有先用postman测接口真是搞的我想死,白折腾俩小时。

几经波折,新增和编辑终于都成功了,虽然还有些小问题。

sortable,虽然当时并没有特别害怕拖动排序,找到解决方法后,还是感叹前人的智慧,比想象中简单了特别多。




1.背景介绍

今天的内容是在angular中使用ui-router时在不同页面之间跳转并传递参数

2.知识剖析

首先在angular之中实现路由跳转功能有其自带的ngRoute还有常用的第三方插件ui-router

选择ui-router来替代自带的ngRouter是因为它更好用更灵活,具体对比则不是本次分享内容

想要页面之间传递参数,则首先要实现跳转
使用ui-router实现跳转有两种方式

一种是使用其ui-sref指令,另一种是使用$state.go()方法

$state.go()方法

通常用在controller里面,如

                    
                    .controller('heiheihei', function($scope, $state) {
                    $state.go('login');
                    });                
                

ui-sref方法

通常用在a标签里面或者按钮跳转之类

                    
                    哈哈哈
                
                

查看ui-sref的源码可得这两种方法本质上是一样的

                
                element.bind("click", function(e) {
                var button = e.which || e.button;
                if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || element.attr('target')) ) {

                var transition = $timeout(function() {
                // HERE we call $state.go inside of ui-sref
                $state.go(ref.state, params, options);
                });            
            

ui-sref最后也是调用了$state.go()方法

具体如何实现传参呢

首先,要在目标页面定义接受的参数:

ui-sref传参

$state.go传参

3.常见问题

获取传递的参数

4.解决方案

在目标页面的controller里注入$stateParams,然后 "$stateParams.参数名" 获取

5.编码实战

6.扩展思考

url传参时如何处理

url传参时同样需要在url中事先配置,如

                
            .state("field.positionDetails", {
            url: "/positionDetails?companyId?companyName?id",
            templateUrl: "html/list/positionDetails.html",
        })                
            

在url后接?以及传递的内容

7.参考文献

一篇文章

8.更多讨论

还有其他传参的方法吗?





返回列表 返回列表
评论

    分享到