Angular 1.3.x的`.merge()`的反向移植

亚历山大堡

Angular 1.4(尚未稳定)具有我感兴趣的功能:.merge()

由于我不想使用不稳定的库,因此我正在寻找将该方法替换为Angular1.3.x。我可以在我的项目中包括任何模仿Angular的“后向”库.merge()吗?

马修·伯格

只需看一下实际的代码,它的文档非常齐全,您应该可以自己模仿一下https://code.angularjs.org/1.4.0-rc.2/angular.js

459行

合并功能:

function merge(dst) {
    return baseExtend(dst, slice.call(arguments, 1), true);
}

使用baseExtend函数

function baseExtend(dst, objs, deep) {
    var h = dst.$$hashKey;

    for (var i = 0, ii = objs.length; i < ii; ++i) {
        var obj = objs[i];
        if (!isObject(obj) && !isFunction(obj)) continue;
        var keys = Object.keys(obj);
        for (var j = 0, jj = keys.length; j < jj; j++) {
            var key = keys[j];
            var src = obj[key];

            if (deep && isObject(src)) {
                if (!isObject(dst[key])) dst[key] = isArray(src) ? [] : {};
                baseExtend(dst[key], [src], true);
            } else {
                dst[key] = src;
            }
        }
    }

    setHashKey(dst, h);
    return dst;
}

哪个用途

function setHashKey(obj, h) {
    if (h) {
        obj.$$hashKey = h;
    } else {
        delete obj.$$hashKey;
    }
}

用角度版本交换掉baseExtend中缺少的功能(例如,isObject等的angular.isObject等。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

1 / x的反向关系?

来自分类Dev

如何强制Angular 1.x摘要循环运行3次

来自分类Dev

为什么x in(1,2,3):比x == 1或x == 2或x == 3快?

来自分类Dev

Angular 1.x重新渲染

来自分类Dev

将 Python 2x 移植到 3x

来自分类Dev

将Angular 1.x指令转换为Angular 2

来自分类Dev

将Angular 1.x指令转换为Angular 2

来自分类Dev

将 Angular 1.x 站点转换为 Angular 2.6

来自分类Dev

从AFNetworking 1.x到3.x的NSURLSessionTask迁移?

来自分类Dev

AFNetworking从1.x迁移到3.x

来自分类Dev

加载标题为0,1,x1,x2,x3 ..的列

来自分类Dev

(Java)将1x1像素转换为3x3像素

来自分类Dev

将OpenGL 1.x代码移植到WebGL

来自分类Dev

图纸数据1 x 1 D3 js

来自分类Dev

自举网格3x3至6x2至9x1

来自分类Dev

循环(1 + x + x ** 2 + x ** 3 + x ** 4 .... n)不起作用

来自分类Dev

| c | 系列1 + 2x + 3x ^ 2 + 4x ^ 3 + .... nx ^(n-1)

来自分类Dev

为什么x = {1:4}返回1x1单元格,而x = {1 2 3 4}返回1x4单元格?[MATLAB]

来自分类Dev

x = x + 1!= x ++?

来自分类Dev

如果输入是:y = 1(x ^ 3)+0.05(x ^ 2)-2(x ^ 1)-1如何从此std :: string获取数字?

来自分类Dev

Angular 1.X,Webpack和ngtemplate加载器问题

来自分类Dev

Angular 1.x vs 2变化检测性能

来自分类Dev

Angular 1.x-过滤由引用ID调用的对象

来自分类Dev

Angular 1.x templateCache放置来自单独文件的内容

来自分类Dev

如何处理Angular 1.x组件URL根?

来自分类Dev

angular1.x 中的继承控制器

来自分类Dev

3x1或1x3 cv :: Mat转换为cv :: Point3d?

来自分类Dev

反向打印列表不起作用-Python 3x

来自分类Dev

如何反向排序列表?(Python 3.x)