我有以下代码用于显示模态:
app.html
Test
app.js
setModal(modal) { this.contentModal = modal; $('.modal').modal(); }
人,information.html
人,information.js
import {bindable, inject} from 'aurelia-framework'; @inject(Element) export class PersonInformation { constructor() { this.person = new Person(); } } class Person{ firstName = 'Patrick'; lastName = 'Bateman'; }
此代码适用于显示以下内容:
我无法弄清楚如何注入自己的数据来动态创建"人".
伪代码:
app.html
Test
app.js
setModal(modal, firstname, lastname) { this.contentModal = modal; this.contentModal.Person.firstName = firstname; this.contentModal.Person.lastName = lastname; $('.modal').modal(); }
有没有人有这方面的经验?
首先,错误是因为contentModal属性是字符串'person-information'的简单,因此它没有定义任何person属性.
但是代码中也存在概念问题:您正在使用content.bind将动态内容分配给模态元素,因此您的app.js类不了解内容,您不应尝试分配内容属性值你的app.js课程.
为了保持一般性,你可以做一些事情(未经测试)
setModal(modal, props) { this.contentModal = modal; this.modalProps = props; ... }
并称之为
Test
然后在person-information.js做
bind(bindingContext) { this.person.firstName = bindingContext.modalProps['firstName']; .... }
更新:
此解决方案目前不起作用:
plunker再现这种情况
提议的问题