Angular - 在 JSX 和模板文字中转义变量以将其用作参数
Angular - Escaping variable in JSX and template literal to use it as parameter
我目前在 JSX 模板中工作,我向模板声明了一个局部数据变量,并尝试将其作为参数传递到 Angular 属性之一中的组件导出。问题是 JIT 编译器给我标记了一个解析错误,好像在模板文字中以这种方式转义数据是不正确的。这是代码:
const data = [
{
fontIcon: 'settings',
action: () => { return alert(1) }
},
{
fontIcon: 'favorite',
action: () => { return alert(2) }
}
]
export const MenuExpansionPanel = {
render: (args: Interface) => ({
props: args,
template: `
<ui-kit-menu-expansion-panel
title="Menu title"
[disabled]="false"
[expanded]="true"
[hideToggle]="false"
togglePosition="after"
[draggable]="false"
[icons]="${data}"
>
Content
</ui-kit-menu-expansion-panel>
`
})
}
如果您有解决办法,请不要犹豫。
谢谢!
解决方案是:
export const MenuExpansionPanel = {
render: (args: Interface) => ({
props: {
data: [
{
'fontIcon': 'settings',
'action': () => {
return alert('Settings icon clicked!')
}
},
{
'fontIcon': 'favorite',
'action': () => {
return alert('Favorite icon clicked!')
}
}
],
...args
},
template: `
<ui-kit-menu-expansion-panel
title="Menu title"
[disabled]="false"
[expanded]="true"
[hideToggle]="false"
togglePosition="after"
[draggable]="false"
[icons]="data"
>
Content
</ui-kit-menu-expansion-panel>
`
})
}
我目前在 JSX 模板中工作,我向模板声明了一个局部数据变量,并尝试将其作为参数传递到 Angular 属性之一中的组件导出。问题是 JIT 编译器给我标记了一个解析错误,好像在模板文字中以这种方式转义数据是不正确的。这是代码:
const data = [
{
fontIcon: 'settings',
action: () => { return alert(1) }
},
{
fontIcon: 'favorite',
action: () => { return alert(2) }
}
]
export const MenuExpansionPanel = {
render: (args: Interface) => ({
props: args,
template: `
<ui-kit-menu-expansion-panel
title="Menu title"
[disabled]="false"
[expanded]="true"
[hideToggle]="false"
togglePosition="after"
[draggable]="false"
[icons]="${data}"
>
Content
</ui-kit-menu-expansion-panel>
`
})
}
如果您有解决办法,请不要犹豫。 谢谢!
解决方案是:
export const MenuExpansionPanel = {
render: (args: Interface) => ({
props: {
data: [
{
'fontIcon': 'settings',
'action': () => {
return alert('Settings icon clicked!')
}
},
{
'fontIcon': 'favorite',
'action': () => {
return alert('Favorite icon clicked!')
}
}
],
...args
},
template: `
<ui-kit-menu-expansion-panel
title="Menu title"
[disabled]="false"
[expanded]="true"
[hideToggle]="false"
togglePosition="after"
[draggable]="false"
[icons]="data"
>
Content
</ui-kit-menu-expansion-panel>
`
})
}