Rota üzerinde ayarlar özelliğini kullanarak baktınız mı? Bu, belirli bir rota için veri belirtebileceğiniz bir nesnedir, kişisel olarak Aurelia kullanılarak oluşturulan menüler için simgeleri belirtmek için kullanıyorum, ancak her şey için kullanılabilir. Eğer bu yöntem 3 parametre alır activate
denilen bir geri arama yöntemi belirleyecek ViewModel
configureRouter(config, router) {
config.title = 'Test Route';
config.map([
{
route: ['', 'welcome'],
name: 'welcome',
moduleId: './welcome',
title: 'Welcome',
settings: {
image: '/images/someimage.png',
description: 'This is my social share description for this route.'
}
}
]);
this.router = router;
}
datalar rota içinde itiraz erişmek için. Birincisi herhangi bir rota parametresidir ve ikincisi mevcut rota için rota nesnesinin kendisidir.
export class MyViewModel {
image = null;
description = null;
activate(params, routeMap) {
if (routeMap.settings) {
this.image = routeMap.settings.image;
this.description = routeMap.settings.description;
}
}
}
Şimdi View, HTML şablonu içinde, bunu yapabilirsiniz:
${image}
ve ${description}
Mevcut rotada doğrudan alınan sizin ViewModel içinde set yukarıdaki değerler alır.
Güzel bir yaklaşım, projemizde uyguladık.Ancak, Facebook'u çalıştırıyormuş gibi görünmüyor, bu yüzden sayfalarımız "og" "etiketleri" ayarlamıyor olsa bile, Facebook onları okumazdı. – powerbuoy
Çoğu tarayıcı, ne yazık ki Bu, istemci taraf uygulamanızın sunucu web tarayıcılarında önceden oluşturulmasını gerektirir. – dpix