Iが小さな誤解があると信じている:Vue.js 2 がまだジャバスクリプトです。その目標はPolymerと同じではありませんcomponents - それはJSを強化することになっています。それを別の構造で置き換えるのではなく、
@David HallbergJönssonの答えはVue.js 2で完璧にうまく動作します。あなたはVueのコンポーネントの構造に特異的にそれをしたい場合は:あなたがあなたのリンクでプログラム的な方法を使用したい場合は
<template>
<!-- ... -->
<a class="fileContainer">
Click here to trigger the file uploader!
<input type="file">
</a>
<!-- ... -->
</template>
<script>
export default {
props: ['...'],
data() {
return {
...
};
},
computed:{
...
}
}
</script>
<style>
a.fileContainer {
overflow: hidden;
position: relative;
cursor: pointer;
display: inline-block;
color: lightskyblue;
}
a.fileContainer:hover {
text-decoration: underline;
color: blue;
}
a.fileContainer > input[type=file] {
cursor: inherit;
filter: alpha(opacity=0);
opacity: 0;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: right;
}
</style>
、some browsers don't allow you to trigger click events on input type="file"
elementsので、簡単なことではないだろう。あなたの最善の策は、このようにすることです。
(また、技術的にはあなたはまだVueのではjQueryを使用することができますので、あなたはそれを望んでいた場合はそのリンクのコードはまだ仕事ができる。)
をあなたがアップロードしたファイルを処理する方法を知りたい場合は、manyがありますtutorialsおよびsomecomponentsはすでに既製です。
あなたの答えはvue.jsではありません –
答えはvue.jsの場合と同じように動作します。それは全くjavascriptを必要としません。 –