ng repeat指令的源中定义的散列键变量在哪里?

时间:2013-07-12 14:21:42

标签: javascript angularjs

希望更多地了解更复杂的指令是如何工作的,我看着the source of ngRepeat。在line 205上,hashFnLocals变量被定义为具有$id属性的对象。但是,此属性的值为hashKey,我在任何地方都看不到。它是否在另一个脚本中定义,它在构建过程中连接时可以访问它?

2 个答案:

答案 0 :(得分:0)

它定义为in apis.js,从第16行开始。

答案 1 :(得分:0)

这是在angular.js中声明的函数:

function hashKey(obj) {
    var objType = typeof obj,
        key;

    if (objType == 'object' && obj !== null) {
        if (typeof (key = obj.$$hashKey) == 'function') {
            // must invoke on object to keep the right this
            key = obj.$$hashKey();
        } else if (key === undefined) {
            key = obj.$$hashKey = nextUid();
        }
    } else {
        key = obj;
    }

    return objType + ':' + key;
}