Что такое Ext.id ()? - PullRequest
       1

Что такое Ext.id ()?

9 голосов
/ 22 февраля 2011

Я не смог найти его в документации API или в каких-либо объяснениях результатов поиска в других поисковых системах.

Ответы [ 3 ]

12 голосов
/ 22 февраля 2011

Это функция, которую ExtJS использует внутри для генерации уникальных идентификаторов для элементов DOM, которые создаются ExtJS. С моей консоли на http://www.sencha.com:

> Ext.id
  function (e,D){return(e=Ext.getDom(e)||{}).id=e.id||(D||"ext-gen")+(++h)}
> Ext.id()
  "ext-gen22"
> Ext.id()
  "ext-gen23"
> Ext.id()
  "ext-gen24"

Из источника

См. здесь (прокрутите вниз до Public Methods -> id) и здесь .

/**
     * Generates unique ids. If the element already has an id, it is unchanged
     * @param {Mixed} el (optional) The element to generate an id for
     * @param {String} prefix (optional) Id prefix (defaults "ext-gen")
     * @return {String} The generated Id.
     */
    id : function(el, prefix){
        el = Ext.getDom(el, true) || {};
        if (!el.id) {
            el.id = (prefix || "ext-gen") + (++idSeed);
        }
        return el.id;
    },
4 голосов
/ 01 сентября 2011

Одна полезная вещь, которую я делал в прошлом, если вам нужно по какой-то причине создать уникальный идентификатор, это просто сделать что-то вроде:

var id = Ext.id();
id = parseInt(id.replace("ext-gen", ""));
return id;

Это избавит от "ext-gen "часть строки, которую Ext.id () возвращает и дает вам int (если вам это нужно).

0 голосов
/ 01 июня 2015

Для уникального идентификационного номера вы также можете просто:

   var uniqueId = ++Ext.idSeed;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...