有时候.get(“object.value”)在ember.js中不能正常工作,但是.get(“object”).value可以正常工作,原因是什么?
this.get( "object.value") = undefined this.get("object").value = "values"
dtcbnfnu1#
你能澄清"什么不起作用"吗?你期望发生什么?你的数据是什么样子的?object.value是否意外地成为一个带点的键?例如:
object.value
{ 'object1.value': 1, // vs object2: { value: 2 } }
get与object1.value一起使用 * 将不起作用 *,因为没有名为object1的键,但object2.value将起作用,因为存在名为object2的键因此,如果您希望访问键中包含.的属性,则需要一个自定义方法来执行此操作(可能使用方括号访问)。例如:
object1.value
object1
object2.value
object2
.
import { get } from '@ember/object'; function customGet(obj, keyOrPropertyPath) { if (keyOrPropertyPath in obj) return obj[keyOrPropertyPath]; return get(obj, keyOrPropertyPath); }
1条答案
按热度按时间dtcbnfnu1#
你能澄清"什么不起作用"吗?你期望发生什么?你的数据是什么样子的?
object.value
是否意外地成为一个带点的键?例如:get与
object1.value
一起使用 * 将不起作用 *,因为没有名为object1
的键,但object2.value
将起作用,因为存在名为object2
的键因此,如果您希望访问键中包含
.
的属性,则需要一个自定义方法来执行此操作(可能使用方括号访问)。例如: