Я расширяю ko.observable, чтобы записывать значения в локальное хранилище. Я хотел бы использовать имя переменной в качестве ключа, так:Есть ли способ получить имя наблюдаемого объекта Knockout?
self.newObservable = ko.observable();
self.newObservable.persistValue(25)
будет сохраняться значение в LocalStorage с ключом 'newObservable. Есть ли способ получить значение «newObservable»? Я пробовал использовать constructor.name, но это просто возвращает имя типа переменной i.e «String» или «Number».
Обратите внимание, что если вы когда-либо ставите это через мини-фильтр, имя переменной может измениться. Может быть, это может быть проблемой для вас. –
Я не уверен, что вы подразумеваете под «именем наблюдаемого нокаута». Здесь должно быть более очевидно, почему это мало смысла: 'var tmp = ko.observable(); self.newObservable = tmp; that.newObservable2 = tmp; ' Теперь у вас есть 2" имени " – miensol
@miensol. Я считаю, что OP хочет знать имя переменной, которую вызывала функция' persistValue', внутри самой функции. IE 'this' будет' newObservable' в 'persistValue' (если только он не связан с чем-то другим в другом месте), но им нужно получить _name_' newObservable', а не ссылку на него. –