我试图从app.js文件中取出路由器配置并将其放在一个单独的文件中(app.router.js).这可能是一件容易的事,但我不知道该怎么做.
当前app.js文件如下所示:
import {Router} from 'aurelia-router';
export class App {
static inject() { return [Router]; };
constructor(router) {
this.router = router;
// router - put this part in a separate file
this.router.configure(config => {
config.title = 'demo';
config.options.pushState = true;
config.map([
// home routes
{ route: ['','home'], moduleId: './home/home', nav: true, title:'Home' },
// User routes
{ route: ['user/register'], moduleId: './user/register', nav: true, title:'User Registration'}
]);
});
}
}
Run Code Online (Sandbox Code Playgroud)
一旦配置部分在一个单独的文件中,我相信我已经这样称呼它app.js:
this.router.configure(myRouterConfig);
Run Code Online (Sandbox Code Playgroud)
请通过代码示例告诉我如何操作.
当像layer1/layer2这样的路径不仅仅是layer1时,我遇到了配置Aurelia路由的问题.这是项目文件结构(dist下的文件是根据src文件夹下的文件自动创建的)
dist
| - home
| - home.html
| - home.js
| - user
| - register.html
| - register.js
app.html
app.js
main.js
src
| - home
| - home.html
| - home.js
| - user
| - register.html
| - register.js
app.html
app.js
main.js
Run Code Online (Sandbox Code Playgroud)
当我执行以下操作时,它可以正常工作:
app.html
<template>
<div>
<a href="user">register user</a>
<a href="otherlink">otherlink</a>
</div>
<div class='main'>
<router-view></router-view>
</div>
</template>Run Code Online (Sandbox Code Playgroud)
app.js
this.router.configure(config => {
config.title = 'demo';
config.options.pushState = true;
config.map([
// home routes
{ route: …Run Code Online (Sandbox Code Playgroud)我有一个使用aurelia-i18n的工作应用程序.我想将translation.json文件拆分成多个文件,如nav.json,message.json等,但我不知道该怎么做.
这就是它现在的样子.
locale
|-en
|- translation.jsonRun Code Online (Sandbox Code Playgroud)
但我想以这种方式改变它.
locale
|-en
|- nav.json
|- message.json
Run Code Online (Sandbox Code Playgroud)
有可能吗?如果是这样,我如何配置它并访问每个文件中的值?
我一直在谷歌搜索,但似乎找不到在Aurelia应用程序中使用reCAPTCHA的方法。
如果可能,我想将其用作自定义元素。
import {inject, customElement} from 'aurelia-framework';
//maybe from url like https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit
import recaptcha from 'google-recaptcha';
@customElement('captcha')
@inject(recaptcha)
export class Captcha{
constructor(recaptcha){
this.recaptcha = recaptcha;
}
//add code to initialize captcha and handle callback
}
Run Code Online (Sandbox Code Playgroud)