无法从@inlineView访问VM属性

时间:2016-10-06 12:42:29

标签: aurelia

我在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

2 个答案:

答案 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>")
相关问题