2016-04-18 17 views
2

Mit vue.js ist es möglich, einen benutzerdefinierten Attributnamen anstelle des Attributwerts festzulegen? Der folgende Code scheint nicht zu funktionieren. es wird der SchnurrbartEinstellung des benutzerdefinierten Attributnamens

Pseudo-Code machen:

<template v-for="item in list"> 

    <div myattr{{item.name}}="something">{{item.desc}}</div> 

</template> 

jede Hilfe sehr dankbar.

Antwort

1

Sie können es mit custom directive

HTML:

<div id="app"> 
    <li v-for="item in items"> 
    <div v-set-attribute="item">{{item.desc}}</div> 
    </li> 
</div> 

JS:

Vue.directive('set-attribute', { 
    update: function(item) { 
    this.el.setAttribute(item.name, "something"); 
    } 
}); 

Richtlinie Name mit v- in html vorangestellt werden muss. Objekt, das als Wert bereitgestellt wird ("item") wird an update Funktion der Richtlinie übergeben.

JSFiddle

+0

danke! Genius! –

Verwandte Themen