我在Aurelia中创建了一个使用categories.ptype
的简单自定义元素(因为视图很小)但是当我尝试从我的内联视图访问我的一个VM属性时,我只是得到“属性不是定义“;
@inlineView()
这也发生在import {inlineView} from 'aurelia-framework';
@inlineView(`<template><h1>${title}</h1></template>`)
export class MyCustomElement {
constructor () {
this.title = 'Hello, World!';
}
}
上;
@bindable
答案 0 :(得分:4)
当解释<template><h1>${title}</h1></template>
时,解释器会尝试插入尚不存在的title
变量。试试这个:
@inlineView(`<template><h1 innerHTML.bind="title"></h1></template>`)
甚至更容易:
@inlineView('<template><h1>${title}</h1></template>') // without accents
答案 1 :(得分:2)
问题是你在inlineView装饰器中使用了模板文字,这导致Javascript在传递给inlineView装饰器函数之前评估$ {title}。那时,标题不存在。您需要在模板字符串周围使用常规引号('或“)在此实例中传递常规字符串,如下所示:
@inlineView("<template><h1>${title}</h1></template>")