Javascript 使用;这";在Vuejs 2.0中
我是VueJS的新手。 我有一个小问题,我想不出来。希望有人能给我一个提示 我正在创建一个语音搜索按钮,基本上当我单击语音按钮时,它会记录我的语音并将其打印到表单中的输入属性Javascript 使用;这";在Vuejs 2.0中,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我是VueJS的新手。 我有一个小问题,我想不出来。希望有人能给我一个提示 我正在创建一个语音搜索按钮,基本上当我单击语音按钮时,它会记录我的语音并将其打印到表单中的输入属性 <input type="text" name="inputSearch" id="inputSearch" v-model="inputSearch" class="form-control" x-webkit-speech> 这是我在VueJS中的脚本 <script> export de
<input type="text" name="inputSearch" id="inputSearch"
v-model="inputSearch" class="form-control" x-webkit-speech>
这是我在VueJS中的脚本
<script>
export default {
data() {
return {
inputSearch: '',
show: false
}
},
methods: {
voiceSearch: function(event){
this.inputSearch = '';
this.show = false;
if (window.hasOwnProperty('webkitSpeechRecognition')) {
var recognition = new webkitSpeechRecognition();
recognition.continuous = false;
recognition.interimResults = false;
recognition.lang = "en-US";
recognition.start();
recognition.onresult = function(e) {
this.inputSearch = e.results[0][0].transcript;
recognition.stop();
};
recognition.onerror = function(e) {
alert('There are something wrong...');
recognition.stop();
};
}else {
alert('Your browser does not support HTML5/WebKitSpeech. You are not able to use this functionality');
}
}
}
}
</script>
导出默认值{
数据(){
返回{
输入搜索:“”,
节目:假
}
},
方法:{
语音搜索:功能(事件){
this.inputSearch='';
this.show=false;
if(window.hasOwnProperty('webkitSpeechRecognition')){
var recognition=new-webkitSpeechRecognition();
识别持续=错误;
recognition.interimResults=false;
recognition.lang=“en-US”;
识别。开始();
recognition.onresult=函数(e){
this.inputSearch=e.results[0][0]。成绩单;
识别。停止();
};
recognition.onerror=函数(e){
警惕(‘有点不对劲……’);
识别。停止();
};
}否则{
警报(“您的浏览器不支持HTML5/WebKitSpeech。您无法使用此功能”);
}
}
}
}
我能够从语音识别中获取文本,但无法在输入表单中显示
谢谢,不要使用
函数
而是使用ES6的箭头语法,这样可以保持此函数的范围不变,如下所示:
recognition.onresult = (e) => {
this.inputSearch = e.results[0][0].transcript;
recognition.stop();
};
recognition.onerror = function(e) {
alert('There are something wrong...');
recognition.stop();
};
或者,其他选项是将该保存在其他变量中,并使用该变量,如下所示:
var that = this
recognition.onresult = function(e) {
that.inputSearch = e.results[0][0].transcript;
recognition.stop();
};
recognition.onerror = function(e) {
alert('There are something wrong...');
recognition.stop();
};
你可以看看我类似的答案