新普金娱乐网址


正态分布的前生今生(上)

atitit.农历的公式与原理以及公历日期运算

数学历史上的大文章整理汇总天文

  • 二月 26, 2019
  • 天文
  • 没有评论

正文旨在收集整理数学历史上的头面作品,便于对数学有深入兴趣的心上人查阅和读书。后续有时光的话会为每本书都配上3个简练的表明,便于咱们精通其剧情。

业务中偶然供给在异步获取数据并用ng-repeat遍历渲染完页面后进行有个别操作,angular本人并不曾提供监听ng-repeat渲染达成的下令,所以须要自身入手写。有经验的同班都应该精晓,在ng-repeat模板实例之中会暴暴光一些异样属性$index/$first/$middle/$last/$odd/$even,$index会趁着每一趟遍历(从0初叶)递增,当遍历到最后1个时,$last的值为true,so,通过判断$last的值来监听ng-repeat的实践情状,怎么在遍历进度中得到$last的值:自定义指令

本文少禽持续更新

小实例,小编只写了最根本的一部分

《Element》译名《原本》,作者 Euclid 。

天文 1

《Mathematical collection》译名《数学汇编》,小编 帕普us 公元三世纪末。

//要循环的数据
$scope.data = [
    {
        str: 'a'
    },
    {
        str: 'b'
    },
    {
        str: 'c'
    }
]
//自定义指令repeatFinish
app.directive('repeatFinish',function(){
    return {
        link: function(scope,element,attr){
            console.log(scope.$index)
            if(scope.$last == true){
                console.log('ng-repeat执行完毕')
            }
        }
    }
})
<div id="box">
    {{item.str}}
</div>

《Treasury of Analysis》译名《分析集锦》 小编 Pappus 。

天文 2

《Commentary》译名《评述》,作者普Locke罗斯。其剧情根本是介绍欧几里得《原本》的首先篇。

打开控制台,会打字与印刷出0,1,2,当$index =
2点时候,$last值为true,ng-repeat渲染落成 

《History of Geometry》译名《几何史》,作者欧德摩斯。

so easy!

《conic sections》 译名《圆锥曲线》,小编阿Polo累西腓。

当然指令最好是能够复用,在那一个命令内写现实的事情逻辑不方便人民群众复用,能够透过给指令钦点一个拍卖函数renderFinish

《Republic》译名《理想国》,小编Plato。

<div id="box">
    {{item.str}}
</div>

《Elements of Conic Sections》译名《圆锥曲线要述》,笔者 Aristaeus the
埃尔德 公元前320年。

再经过指令的attr参数获取那么些处理函数

《On the Moving Sphere》
译名《论运动的球》,小编Pitane,公元前310年左右。

天文 3

《On Risings and Settings》
译名《论升和落》,笔者Pitane,公元前310年左右。

app.directive('repeatFinish',function(){
    return {
        link: function(scope,element,attr){
            console.log(scope.$index)
            if(scope.$last == true){
                console.log('ng-repeat执行完毕')
                scope.$eval( attr.repeatFinish )
            }
        }
    }
})
//controller里对应的处理函数
$scope.renderFinish = function(){
    console.log('渲染完之后的操作')
}

《Little Astronomy》 译名《小天文》。

天文 4

《Great Collection》译名《大汇编》,我托勒玫。

attr获取到的质量只是多少个字符串表达式,$scope.$eval方法是特意执行AngularJS表达式的,通过它处理函数得以实施,那样,指令用在分歧的地点,可传递分歧的处理函数。

参考资料

  1. 《古今数学思维》

某些工作比较复杂,恐怕ng-repeat渲染完毕现在,须求进行五个操作并且那五个操作有多少个前端完毕,需求采纳angular的事件,在repeatFinish指令的link函数内接触3个事变,各位前端同学监听该事件形成各自的操作

写在后头

本文地址:http://www.cnblogs.com/kelsen/p/6057073.html

至于本文要是你有其余建议或疑问请在底下留言沟通,也可透过 Web前端高工 群进行线上关系。

天文 5

 

天文 6

app.directive('repeatFinish',function(){
    return {
        link: function(scope,element,attr){
            console.log(scope.$index)
            if(scope.$last == true){
                console.log('ng-repeat执行完毕')
                //向父控制器传递事件
                scope.$emit('to-parent');
                //向子控制器传递事件
                scope.$broadcast('to-child');
            }
        }
    }
})
//父控制器中监听事件
$scope.$on('to-parent',function(){
    //父控制器执行操作
})

//子控制器中监听事件
$scope.$on('to-child',function(){
    //子控制器执行操作
})

天文 7

怎么样在近年来控制器下监听到该事件吧?angular没有向当前控制器传递事件的艺术,可以先向父(子)控制器传递事件,父(子)控制器监听到事件后反过来向子(父)控制器传递事件。

增加补充:IE8能够一直在要素上用命令ng-if=”$last &&
renderFinish()”,当然IE8+也得以这么用

一句话总计:指令是angular的着力职能之一,用好了两全其美,监听ng-repeat执行情况只有是它效能的冰山一角吧

填补2:然后本人在利用的时候发现2个难题。那几个难点照旧是延时回调引起的,这差别于$http的异步难点,它不是异步,仅仅是延时难点。

    小编实用fbug断点调试发现,原来所谓的渲染完成,其实并没有当真把多少填上,而是dom的渲染达成,数据要等具有的dom渲染实现之后对号落座。

    大概有点抽象,直接上海教室。

    天文 8

    看效果,

$('.mybox-content').scrollTop( $('.mybox-content')[0].scrollHeight );

    小编使用scrollTop来对滚动条进行定点,原本应该是间接到最底部的,打字与印刷出来相应数据开始展览总计也是平昔不难题的,可是依旧出现了那种景观,而且随着数据的增多,上边没滚动上去的也相应增添。

    作者就很窝囊,思考了很久很久,终于想通难点相当重要。

    关键点就在于多出去的那有个别,那么为何多吧?是否每一条的冲天总括错误?这么想来,就对了,当聊天文本是多行的时候,就比暗许的单行高度高出了一部分,而随着聊天记录的加码,多出来的那有的就跟着增多。

    这么看来就显示出上边的难点了——渲染并从未真的形成。于是小编打开断点,如下:

    天文 9

    从图中我们得以见到,2 部分是渲染实现后开始展览的1次拍卖,处理完进入
3 ——滚动条置底。可是当下快要执行 3 的时候 2
部分却只有dom,没有对应的真实性数据。而就像上边所说的,真实数据填充后条文的冲天恐怕会变高,那就招致了滚动条不能够置底。

    难点精晓了,化解办法就不难了。

    

setTimeout(function(){
    $('.mybox-content').scrollTop( $('.mybox-content‘)[0].scrollHeight );
}, 1);

    只需求把代码放到三个延时器中就足以了,延时时刻,1ms。。。。

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图