Javascript 从通过管道从html传递的对象获取数据
当我想从这样的对象获取数据时Javascript 从通过管道从html传递的对象获取数据,javascript,angular,typescript,Javascript,Angular,Typescript,当我想从这样的对象获取数据时 const translate = {home:title:'Home'}} 我们使用home.title,这样就可以了 但我需要将此主页。title更改为[home][title] 我需要这个,因为我制作了管道,用这个管道,我从HTML视图发送值,就像 {{ "home.title" | getTranslate}} 我需要从数组中获取值,比如说arr[home.title],但这不起作用,我需要这个arr[home][title] 编辑: 我将值从HTML转
const translate = {home:title:'Home'}}
我们使用home.title
,这样就可以了
但我需要将此主页。title
更改为[home][title]
我需要这个,因为我制作了管道,用这个管道,我从HTML视图发送值,就像
{{ "home.title" | getTranslate}}
我需要从数组中获取值,比如说arr[home.title]
,但这不起作用,我需要这个arr[home][title]
编辑:
我将值从HTML转换为我想要的格式
let b = value.split(".");
let keyTranslate = "[" + b[0] + "]" + "" + "[" + b[1] + "]";
console.log(keyTranslate) // [home][title]
现在我把这个值传递给另一个函数
this.store.select(fromStore.TranslateSelector.translateKey(keyTranslate ));
这里我想用这个键来计算值
export const translateKey = (key: any) => createSelector(
getTranslate,
translate => console.log(translate[key])); // this not working.
如何设置“键”来转换数组?我发现如果其他人坚持这样做,使用ECMAscript 6很容易
key.split(".").reduce((o, i) => o[i], translate)); --> // translate.home.title
下面是完整的解释
arr
当前不是数组,它是一个具有属性的对象,该属性也是一个对象arr[x][y]
仅用于二维阵列。但是您可以使用键作为字符串访问属性,如arr[“home”][“title”]
。不确定这是否是你要找的。我编辑了我的问题,请看一下,看起来你可能想看看transloco:)