【发布时间】:2018-09-18 23:26:33
【问题描述】:
我正在处理一个较旧的 Aurelia 1 项目,该项目今天早些时候开始出现问题。在摆弄并重新安装 node_modules 之后,事情运行但似乎没有加载任何组件。这是我的结构的样子:
- elements
- form-login
- form-login.html
- form-login.js
- form-login.scss
- views
- authentication
- login.html
- login.js
- login.scss
(还有更多,但我暂时不说。)
login.html 像这样加载<form-login>:
<template>
<require from="elements/form-login/form-login"></require>
<main class="${ navigationInstruction.name }">
<form-login class="login__form" success.bind="CALLBACK_SUCCESS"></form-login>
</main>
结果是一个空白屏幕,<form-login> 的任何内容都不会被渲染。
我已经发现他的 require 标记不应该指向 HTML 文件,而是指向组件的目录/名称,但情况确实如此。
form-login.js 的内容如下所示(不含无关部分):
import {bindable, decorators} from 'aurelia-framework';
import './form-login.scss';
/**
* The application top navigation bar
*/
export const FormLogin = decorators(
bindable('success')
).on(class {
// Lots of code in here but constructor() is never fired.
});
【问题讨论】:
-
你试过相对路径吗? (
from="../../elements/form-login/form-login") ? -
感谢您的建议,刚刚尝试过,没有运气。
-
您是否有机会使用
export default class FormLogin {}导出元素?如果不是这样,我认为您应该在 form-login.js 和 form-login.html 中分享更多代码 -
我这里没有使用默认值,是吗?我已经在上面添加了内容。
-
它是一个完全空白的屏幕(例如,没有任何 Aurelia 加载的迹象)还是只是有问题的组件从未加载?