首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模板中的Vue指令

模板中的Vue指令
EN

Stack Overflow用户
提问于 2017-05-11 14:35:21
回答 2查看 705关注 0票数 1

我对vueJ非常陌生,我正在尝试创建类似于选项卡菜单的东西。我有一个下拉导航栏,每个链接创建一个新的选项卡,这个新选项卡是一个Vue组件。

我试图在创建的选项卡中放置一个v-on:click指令,但它不调用该函数。事实上,我会犯这样的错误

“属性或方法”"removeTab“不在实例上定义,而是在呈现过程中引用。

"removeTab不是一个函数。“

但是removeTab是一个函数,如果我将v-on:click放在一个静态的html标记中,它就能工作。我是做错了什么,还是不可能在动态加载的组件中有指令?

这里是我的代码的一个简化版本,只是为了更好地展示我想要解释的内容。RemoveTab只是一个警告,只是为了显示它什么时候起作用,什么时候不行。

HTML

代码语言:javascript
复制
<div  id="application">

  <button class="item" v-on:click="addTab()">Add Button</button>
  <button class="item" v-on:click="removeTab()">Remove</button>
  <br><br>


  <div >
    <tab v-for ="tab in tabs" :tab="tab"></tab>
  </div>
</div>


 <template id="tab-template">
   <button class="item">
     {{tab.nomeTab}} &nbsp; <div v-on:click="removeTab()">remove</div>
   </button>
</template>

JS

代码语言:javascript
复制
Vue.component('tab', {
  template: '#tab-template',
  props: ['tab']
});

new Vue({
  el: '#application',
  data:{
    newTab:'',
    tabs: [
      {nomeTab:'Home', contenutoTab:'ciao'},
    ]
  },
  methods:{
    addTab: function() {
      this.tabs.push({
        nomeTab: 'NewTab',
      });
    },

    removeTab: function () {
       alert("Here it works");
    }
  }
});

这是在JSFiddle上。

感谢您的关注

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-11 15:17:41

@Leo是正确的;实际上,您试图在您的孩子中调用removeTab方法,但是该方法是在您的父级上定义的。子级无法直接访问父级上的方法。

为了使您的示例正常工作,因为您的父级可能正在管理选项卡,因此您将希望从选项卡中发出一个事件,并侦听父选项卡中的事件。

代码语言:javascript
复制
<button class="item" v-on:click="$emit('remove-tab')">{{tab.nomeTab}} &nbsp; <div >remove</div></button>

在父模板中

代码语言:javascript
复制
<tab v-for ="tab in tabs" :key="tab" :tab="tab" @remove-tab="removeTab"></tab>

这是你的小提琴修好了。

也没有,我向您的v-for添加了一个v-for。您应该始终将keyv-for结合使用。

票数 0
EN

Stack Overflow用户

发布于 2017-05-11 14:40:54

Vue有独立的作用域。选项卡组件的模板中有v-on:click="removeTab()",但是它没有在组件中定义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43918505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档