2015-04-26 4 views

ответ

16

Я нашел ответ на GitHub. Вы можете добавить свойство Settings в конфигурацию маршрутизатора, что позволяет указать путь к изображению. В моем случае я использую SVG:

import {inject} from 'aurelia-framework'; 
 
import {Router} from 'aurelia-router'; 
 

 
@inject(Router) 
 
export class App { 
 
    constructor(router) { 
 
    this.router = router; 
 
    this.router.configure(config => { 
 
     config.title = 'Aurelia'; 
 
     config.map([ 
 
     {route: ['', 'dogs'], moduleId: './dogs', nav: true, title: 'Dogs', settings: './img/dogs-nav.svg'}, 
 
     {route: ['cats', 'cats'], moduleId: './cats', nav: true, title: 'Cats', settings: './img/cats-nav.svg'}, 
 
    }); 
 
    } 
 
}
<ul class="nav navbar-nav"> 
 
    <li repeat.for="row of router.navigation" class="${row.isActive ? 'active' : ''}"> 
 
    <a href.bind="row.href"> 
 
     <img src="${row.settings}"> 
 
     <span>${row.title}</span> 
 
    </a> 
 
    </li> 
 
</ul>

+4

Чтобы быть более точным это свойство «настройки» не предназначен специально для передачи изображения, но для любого вида данных, которые нужно включить в маршрут, отличный от defaut. Поэтому я думаю, что было бы опрятно дать ему объект, подобный настройкам: {img: 'путь к изображению'} – sam

+0

@sam True. Является ли мой пример точным? –

+1

Использование 'settings: {img: 'путь к изображению'}' более полезно, так как по умолчанию он имеет значение 'undefined', если не установлен. Если вы используете строчную интерполяцию и оставьте объект 'settings' пустым' $ {row.settings} 'будет печатать как' [object Object] ' – Tim

 Смежные вопросы

  • Нет связанных вопросов^_^