2016-12-06 1 views
-2

Ich glaube, der folgende Code ist in ES6 und ES5 illegal.Wie lautet die Syntax?

const app = new Vue({router}).$mount('#app') 

Da {Router} ist falsch, aber dieses Beispiel erfolgreich here ausgeführt wird.

Können Sie erklären, welche Syntax das ist? Was habe ich verpasst?

+1

'{}' Router ist * nicht * falsch in ES6. – Oriol

+1

'{router}' ist wie '{router: router}'. Beachten Sie, dass eine Object-Eigenschaft keine Variable, sondern ein Object-Eigenschaftswert sein kann. – PHPglue

Antwort

0

Das Muster erstellt ein Objekt mit der Eigenschaft "routes" mit dem Wert der Array-Routen.

const routes = [ 
 
    { path: '/foo', component: "Foo" }, 
 
    { path: '/bar', component: "Bar" } 
 
] 
 

 
function props(prop) { 
 
    console.log(prop) 
 
} 
 

 
props({routes});

+0

{routes} ist Objektliteral. Es sollte ein Schlüsselwertpaar sein (a: "1"). Warum hat es nur eine "Route"? –

+1

Siehe [Destrukturierungszuordnung] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment), [Wie können Sie die in JavaScript eingebauten JavaScript-Argumente richtig nutzen?] (Http: //stackoverflow.com/questions/40297698/how-to-make-use-of-avascript-built-in-arguments-properly/40298741#40298741), [Wie heißt das in Javascript? ({name, value}) =>] (http://stackoverflow.com/questions/40470272/what-is-this-called-in-javascript-name-value-span-span/40470289?s=4 | 0.0000 # 40470289) – guest271314

Verwandte Themen