2017-06-22 9 views
3

私はVueのテンプレートでカスタム属性値をバインドしようとしています。これどうやってするの?は、Vueのテンプレートで可能なカスタム属性バインディングはありますか?

(EDIT:次のコードは、実際に正しくバインドするサードパーティのライブラリー(財団)は、それが他の人に有用である可能性があるとして疑問を残し結合に干渉した

<template> 
    <span v-bind="{ 'aria-controls': inputControlId }"></span> 
    <input v-bind="{ 'id': inputControlId }"> 
</template> 

<script lang="ts"> 

    import Vue from 'vue'; 
    import Component from 'vue-class-component'; 

    @Component 
    export default class Slider extends Vue { 
     inputControlId = "TheBourneId"; 
    } 
} 
</script> 

答えて

2

ための共通の構文。。。 binding attributesshorthandもあり

<template> 
    <span v-bind:aria-controls="inputControlId"></span> 
    <input v-bind:id="inputControlId"> 
</template> 

です。

<template> 
    <span :aria-controls="inputControlId"></span> 
    <input :id="inputControlId"> 
</template> 
あなたは、あなたの質問に構文を使用して、一度 multiple propertiesをバインドすることができます

、それだけで、一般的に、特に、単一の属性のために、classまたはstyle外で使用されていません。

実際の問題は、あなたのCSSフレームワークのようでした。

+0

ありがとう!これのいくつかのバリエーションを試した後、私は、サードパーティのライブラリー(財団)私の場合、結合に干渉したことを考え出しました。私のサンプルコードは実際に意図したとおりに動作しますが、構文を使用するほうが優れています。これを反映するように質問を更新します。 – pulekies

+0

@pulekiesは、あなたが使用している3番目の構文は、そこにある正しいが、あなたは、同時に複数のプロパティをバインドしているとき、それは主に対象としています。私は答えを更新します。 – Bert