Javascript vuematerial-使用代码触发md选项卡
我正在我的新项目中使用来自Javascript vuematerial-使用代码触发md选项卡,javascript,vuejs2,vue-material,Javascript,Vuejs2,Vue Material,我正在我的新项目中使用来自vue材料的[md tabs][1] 我知道我们使用带有js功能的@md changed事件: <template> <div class="hello"> <md-tabs class="md-primary" :md-active-tab="currenttab" @md-changed="tabChanged"> <md-tab id="tab-users" md-label="Users"> ... </
vue材料的[md tabs][1]
我知道我们使用带有js
功能的@md changed
事件:
<template>
<div class="hello">
<md-tabs class="md-primary" :md-active-tab="currenttab" @md-changed="tabChanged">
<md-tab id="tab-users" md-label="Users">
...
</md-tab>
<md-tab id="tab-projects" md-label="Projects">
...
</md-tab>
</md-tabs>
</div>
</template>
<script>
...
methods: {
tabChanged: function(id) {
console.log(id);
},
}
...
</script>
activateTab: function(id) {
console.log(id);
self.currenttab = id;
}
activateTab: function(id) {
var self = this;// <-- declare self
console.log(id);
self.currenttab = id;
}
哪个currenttab
绑定到:
<md-tabs class="md-primary" :md-active-tab="currenttab" @md-changed="tabChanged">
但是,当我单击按钮时,该功能起作用(显示console.log),但该选项卡没有转到分配的选项卡
如何解决这个问题?这是@Max Sinev指出的一个非常基本的错误
我需要在函数中声明self
:
<template>
<div class="hello">
<md-tabs class="md-primary" :md-active-tab="currenttab" @md-changed="tabChanged">
<md-tab id="tab-users" md-label="Users">
...
</md-tab>
<md-tab id="tab-projects" md-label="Projects">
...
</md-tab>
</md-tabs>
</div>
</template>
<script>
...
methods: {
tabChanged: function(id) {
console.log(id);
},
}
...
</script>
activateTab: function(id) {
console.log(id);
self.currenttab = id;
}
activateTab: function(id) {
var self = this;// <-- declare self
console.log(id);
self.currenttab = id;
}
activateTab:函数(id){
var self=this;//我无法有效地解决问题,因此,我有下面的解决方法
document.querySelectorAll(".md-tabs > div > button")[_index].click();
activateTab
fn中的self
变量是什么?是否输入错误?如何使用activateTab
函数?您发现了我的错误!我必须声明var self=this;
以便self.currenttab=id;
可以工作。