Aurelia 无法从@inlineView访问VM属性

Aurelia 无法从@inlineView访问VM属性,aurelia,Aurelia,我在Aurelia中创建了一个简单的自定义元素,它使用@inlineView()(因为视图很小),但是当我试图从内联视图访问VM的一个属性时,我只得到“property is not defined” 当解释${title}时,解释器尝试插入尚未存在的title变量。试试这个: @inlineView(`<template><h1 innerHTML.bind="title"></h1></template>`) @inlineView(``)

我在Aurelia中创建了一个简单的自定义元素,它使用
@inlineView()
(因为视图很小),但是当我试图从内联视图访问VM的一个属性时,我只得到“property is not defined”

当解释
${title}
时,解释器尝试插入尚未存在的
title
变量。试试这个:

@inlineView(`<template><h1 innerHTML.bind="title"></h1></template>`)
@inlineView(``)
甚至更简单:

@inlineView('<template><h1>${title}</h1></template>') // without accents
@inlineView('${title}')//不带重音符号
当解释
${title}
时,解释器尝试插入尚未存在的
title
变量。试试这个:

@inlineView(`<template><h1 innerHTML.bind="title"></h1></template>`)
@inlineView(``)
甚至更简单:

@inlineView('<template><h1>${title}</h1></template>') // without accents
@inlineView('${title}')//不带重音符号

问题是您在inlineView装饰器中使用了一个模板文本,这导致Javascript在将${title}传递给inlineView装饰器函数之前对其求值。在这一点上,标题并不存在。在此实例中,需要在模板字符串周围使用正则引号('or')传递正则字符串,如下所示:

@inlineView("<template><h1>${title}</h1></template>")
@inlineView(${title})

问题是您在inlineView装饰器中使用了一个模板文字,这导致Javascript在将${title}传递给inlineView装饰器函数之前对其求值。此时,title不存在。在此实例中,您需要使用正则引号('or')传递一个正则字符串围绕模板字符串,如下所示:

@inlineView("<template><h1>${title}</h1></template>")
@inlineView(${title})

我明白了!我不知道它是如何工作的(这是我的第一个ES6项目)。使用常规引号唯一让人有点恼火的是,整个模板需要放在一行上。我想如果它需要更多的东西,那么它应该放在它自己的
html
文件中。顺便说一句,你似乎对这些东西很了解。你知道怎么解决吗?我明白了!我不知道它是如何工作的(这是我的第一个ES6项目)。使用常规引号唯一让人有点恼火的是,整个模板需要放在一行上。我想如果它需要更多的东西,那么它应该放在它自己的
html
文件中。顺便说一句,你似乎对这些东西很了解。你知道怎么解决吗?