Vue @click.native 不起作用?

2024-02-08

我有这样的导航组件:

<template>
<nav class="navbar navbar-default navbar-fixed-top">
    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
        <a class="navbar-brand" href="">Website Builder</a>
    </div>
    <div>
        <div class="collapse navbar-collapse" id="myNavbar">
            <ul class="nav navbar-nav">
                <li>
                    <a href="#" @click.native="currentView='create'">Create</a>
                </li>
                <li>
                    <a href="#" @click.native="currentView='how'">How</a>
                </li>
                <li>
                    <a href="#" @click.native="currentView='about'">About</a>
                </li>
                <li>
                    <a href="#" @click.native="currentView='youtube'">Videos</a>
                </li>
            </ul>
        </div>
    </div>
</nav>
</template>

和我的js:

Vue.component('navigation', Navigation)
Vue.component('create', Create)
Vue.component('how', How)
Vue.component('about', About)
Vue.component('youtube', Youtube)

new Vue({
    el: '#app',
    data: {
        currentView: 'create'
    }

和 HTML:

<div id="app">
    <navigation></navigation>
    <keep-alive>
        <transition name="slide-fade" mode="out-in">
            <component :is="currentView"></component>
        </transition>
    </keep-alive>
</div>

但是,当我单击导航时,它不会改变,因此我假设它无法正常工作。如果我将导航远离组件并将其粘贴在 div id=app 中,它工作正常,为什么会发生这种情况?


  1. The .native修饰符在本机元素上不是必需的 - 它只能在组件元素上使用。去掉它。

  2. 看来您想更改根组件中的数据。您当前的代码更改了导航组件中的数据。

有两种方法可以做到这一点:

1)清洁方式:

在导航组件中,我们向父级发出一个具有新值的事件:

<a href="#" @click="$emit('current-view', 'youtube')">

在父(此处为根)组件中,我们接收事件并设置值:

<navigation @current-view="currentView = $event"></navigation>

2)黑客方式:

<a href="#" @click="$root.currentView='youtube'">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue @click.native 不起作用? 的相关文章

随机推荐

  • 如何在 MongoDB 中执行 SQL Join 等效操作?

    如何在 MongoDB 中执行 SQL Join 等效操作 例如 假设您有两个集合 用户和评论 我想提取 pid 444 的所有评论以及每个集合的用户信息 comments uid 12345 pid 444 comment blah ui
  • 使用 Google Play 提供的上传密钥签署 APK

    我正在尝试了解如何在使用 Google Play 应用签名时将应用上传到 Google Play 这是我所做的 创建了一个应用程序 使用 keytool exe 为该应用程序生成密钥 已将应用上传至 Google Play 已注册 Goog
  • 在图的顶层绘制圆圈

    我正在制作一个图形 试图在组合颜色图和等高线图的顶部绘制一个圆圈 圆圈不断地绘制在轮廓下方而不是轮廓上方 参见下图 我尝试重新排序如何调用 imshow contour 和 Circle 看看是否能让圆圈显示在顶部 但我没有任何运气 有没有
  • .NET 3.5 是媒体中心插件的合理先决条件吗?

    我们有一个开源媒体中心插件 目前它的下载大小只有区区一兆字节 如果我将插件更改为需要 NET 3 5 用户可能需要下载197 megs http www west wind com weblog posts 292203 aspx只是为了能
  • Django:子查询的注释

    我正在尝试注释一个查询集Station与id最近邻的Station使用 Django 2 0 3 和 PostGIS GeoDjango 功能 简化版Station model class Station models Model name
  • 如何将整个 python 解释器打包到 Android APK 中?

    我了解 SL4A 以及如何在 Android 中运行 Python 脚本 我需要知道如何将整个 Python 解释器打包到我的 APK 中 这样我的最终用户就不必在运行我的应用程序之前下载并安装 SL4A Thanks 尝试看看kivy o
  • 如何在Windows Phone 7.1中捕获解锁屏幕事件?

    如何捕获屏幕解锁事件 然后在 Window Phone 7 1 中屏幕解锁时从我的应用程序触发一些事件 您可以处理PhoneApplicationFrame Unobscured http msdn microsoft com en US
  • Firefox 中不遵循 SVG 的百分比变换来源,仅有时在 WebKit 中遵循

    我有这个蛋卷冰淇淋 SVG 图形 我想用一个transform origin of 50 100 中心底部 Firefox 声称遵守 即检查员记录了正确的transform origin 但实际上是围绕左上角进行变换 奇怪的是 WebKit
  • 使按钮一次仅打开一个窗口(通过关闭顶级窗口来启用按钮)

    I want NewWinButton一次只创建一个新窗口 这意味着如果 if NewWin winfo exists 1 NewWinButton config state disabled else NewWinButton confi
  • iOS7 UIScrollView 在状态栏下方显示偏移内容

    我正在开发我的应用程序以与 iOS7 配合使用 我有一个 UINavigationController 我正在推送一个 UIViewController 里面有一个 ScrollView 在scrollView 里面我有一个tableVie
  • Pygame,角色移动速度

    我是犹他大学的一名学生 正在使用 Pygame 进行一个项目 但遇到了一些小问题 我已经编写了整个游戏的代码 并且运行完美 但我希望我的角色在走过某些地形时减慢移动速度 例如 如果他 她走过沙砖 我希望他 她的速度减半 我无法自己解决这个问
  • 在 R6 类上实现 S3 调度的正确方法

    我有一个R6类 我想添加一个S3的方法 我发现的文档简要提到为了使用S3派送于R6你必须有class TRUE 但我找不到应该如何完成的示例 我确实凭经验看到 只需以以下形式编写 S3 方法s3generic r6class有效 但我想知道
  • gulp - 在没有“require”的情况下编译 Vue 组件

    我试图了解如何使用 Gulp 构建组件 此时 我有一个如下所示的 Vue 组件 我的组件 vue
  • 如何从 n x n 矩阵生成等值线图?

    我有一个 n x n 矩阵称为o potential填充了一些值 并希望从中生成等高线图 我尝试了几种方法但没有成功 这就是我现在所拥有的 n 20 x arange 0 n 1 y arange 0 n 1 plt contourf x
  • 唯一标识 JavaScript 中的函数

    有什么方法可以唯一地标识一个函数而不给它一个 Expando 属性 我一直只是使用 toString 来标识函数 但是当两个函数相同时 它们会发生冲突 以下示例代码重现了该问题 在我的实际代码中 关联数组 myfunctions 的键也是根
  • 为什么我的 MKPointAnnotation 不是自定义的?

    我的 MKPointAnnotation 应该使用此代码进行自定义 MKPointAnnotation setAnnotation NSString title atLocation CLLocationCoordinate2D Locat
  • Froala 编辑器:单击 div 时插入插入符号位置

    我正在使用 Froala v2 6 1 当用户单击 div 时 我想在编辑器的最后一个插入符位置准确地插入一个字符串 但该字符串始终插入到编辑器的末尾 这是我所做的事情 div class variable USER ID div Jque
  • Firebase 身份验证不持久

    刷新页面后 身份验证似乎不再持续 即使使用后firebase auth Auth Persistence LOCAL 每当我登录我的应用程序时 它都会成功地将我重定向到仪表板 但是 刷新页面后 无法访问仪表板 这是我的代码 文件名 logi
  • 插入时出现 DbUpdateConcurrencyException

    我正在使用 Entity Framework 6 将数据插入表中以进行集成测试 当我执行以下代码时 我在调用 SaveChanges 时收到 DbUpdateConcurrencyException using var context ne
  • Vue @click.native 不起作用?

    我有这样的导航组件