2016-04-09 14 views
6

में एसईओ विशेषताओं को सेट करने के लिए यहां मेरी मुख्य समस्या है। मैं एक ऑरेलिया एप्लिकेशन पेज पर सोशल शेयर बटन सेट करना चाहता हूं।ऑरेलिया

head title 
[property="og:image"] 
[property="og:description"] 

सबसे अच्छा तरीका है Aurelia में इस संभाल करने के लिए क्या है:

सामान्य तौर पर, मैं तीन मेटा टैग वस्तुओं सेट करने के लिए? क्या रूट ऑब्जेक्ट का उपयोग करके ऐसा करना संभव है?

उत्तर

1

मुझे बस एक ऐसी सेवा लिखकर मिल गया जो सीधे डोम एपीआई का उपयोग करके मुख्य सामग्री को संशोधित करता है। एक दृश्य के रूप में सिर सामग्री से अच्छी तरह से बांधने का कोई तरीका नहीं है।

यहाँ मेरी कार्यान्वयन https://gist.github.com/dpix/6f508727b9d03d692d0659eb1776ad85

+0

अच्छा दृष्टिकोण, मैंने इसे अपने प्रोजेक्ट में कार्यान्वित किया। हालांकि, फेसबुक जेएस चलाने के लिए प्रतीत नहीं होता है, भले ही हमारे पेज 'ओजी' टैग "सेट करें" फेसबुक उन्हें नहीं पढ़ेगा। – powerbuoy

+0

अधिकांश क्रॉलर दुर्भाग्य से नहीं होंगे इसके लिए सर्वर वेब क्रॉलर पर आपके क्लाइंट साइड ऐप की प्रीरेंडरिंग की आवश्यकता है। चेक-आउट https://prerender.io – dpix

0

क्या आपने रूट पर सेटिंग संपत्ति का उपयोग करने में देखा है? यह एक ऑब्जेक्ट है जहां आप किसी विशेष मार्ग के लिए डेटा निर्दिष्ट कर सकते हैं, मैं व्यक्तिगत रूप से इसे ऑरेलिया का उपयोग करके उत्पन्न मेनू के लिए आइकन निर्दिष्ट करने के लिए उपयोग करता हूं, लेकिन इसका उपयोग किसी भी चीज़ के लिए किया जा सकता है।

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; 
} 

अब तक पहुँचने के लिए सेटिंग्स वस्तु, अपने मार्ग के अंदर viewmodel आप activate कहा जाता है इस विधि 3 मानकों को प्राप्त करता है एक कॉलबैक विधि परिभाषित करेगा। पहला वाला कोई भी मार्ग पैरामीटर है और दूसरा रूट रूट ऑब्जेक्ट है जो वर्तमान मार्ग के लिए है। ऊपर मूल्यों है कि आप अपने viewmodel वर्तमान मार्ग से सीधे ले जाया के अंदर सेट प्राप्त करने के लिए

${image} और ${description}:

export class MyViewModel { 
    image = null; 
    description = null;  

    activate(params, routeMap) { 
     if (routeMap.settings) { 
      this.image = routeMap.settings.image; 
      this.description = routeMap.settings.description; 
     } 
    } 
} 

अब आपके विचार टेम्पलेट HTML के अंदर, आप ऐसा कर सकते हैं।

+2

मुख्य समस्या यह है कि हमेशा की तरह विशेषताओं ' अंदर एक जगह' राशि का एक सार है। उसने मुझे तोड़ दिया :( –

संबंधित मुद्दे