0

为了更多地了解更复杂的指令是如何工作的,我正在查看ngRepeat 的来源。在第 205 行hashFnLocals变量被定义为具有$id属性的对象。但是这个属性被分配了一个值hashKey,我没有在任何地方看到它的定义。它是否在另一个脚本中定义,当它们在构建过程中连接时它可以访问?

4

2 回答 2

0

在 apis.js中定义,从第 16 行开始。

于 2013-07-12T20:31:45.647 回答
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;
}
于 2013-10-30T05:56:56.827 回答