当前位置: 首页 > 知识库问答 >
问题:

在应用程序中注册导航栏组件时出现问题。vue

吕宸
2023-03-14

正在尝试创建存在于我的Vue应用程序中的导航栏。来自react,所以我正在尝试将导航组件导入main。并在应用程序中的路由器插座上方使用。vue。应用程序是使用带有typescript和Router的vue cli生成的。

我尝试用Vue.extend@Component导出默认{*/选项*/}编写导航组件。

我尝试在应用程序中添加脚本标记。vue,我将在其中注册导航组件。

我已经在main中导入并注册了导航组件。ts。

Navigation.ts:

import Vue from 'vue';
import { Component } from 'vue-property-decorator';
import { store } from '@/store';

@Component({
    name: 'nav-component',
})
export default class Navigation extends Vue {}

航行vue:

<template>
    <nav class="nav-header" >
        <div>
            <button class="switch-map">MAP</button>
        </div>
    </nav>
</template>

<script src='./Navigation.component.ts' ></script>
<style lang="scss" scoped src='./Navigation.scss' ></style>

主要的ts:

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
// various imports
import NavigationComponent from 
'@/components/Navigation/Navigation.component';

Vue.config.productionTip = false;

new Vue({
  components: {
    'nav-component': NavigationComponent
  },
  data: {

  },
  store: store,
  router,
  render: h => h(App)
 }).$mount("#app");

应用程序。vue:

<template>
  <div id="app">
    <nav-component></nav-component>
    <router-view/>
  </div>
</template>

预期:在所有页面的应用程序顶部的导航栏(我目前只有两条路线)

实际:未知的自定义元素”。您注册正确了吗?对于递归组件,请务必包含“名称”选项。

许多替代方案刚刚导致“挂载组件失败:未定义模板或渲染函数”错误消息。有什么建议吗?感谢您的任何帮助!

共有3个答案

凌意
2023-03-14

看来,你在导入Navigation.component

import NavigationComponent from 
'@/components/Navigation/Navigation.component';

但是你需要导入导航。我在这里。

import NavigationComponent from 
'@/components/Navigation/Navigation.vue';
丁业
2023-03-14
  1. 正如tony19所说,应用程序中的导航组件。vue未注册
  2. 您注册的组件都是本地的。ts':
// The components created by `new Vue` are local.
// *mainInstance including `nav-component`,bus App isn't including it.
const mainInstance = new Vue({
  components: {
    'nav-component': NavigationComponent
  }
  // Just a rendering component,App cannot inherit the current injected components.
  render: h => h(App)
});

如果要创建全局零部件,可以执行以下操作:

Vue.component('nav-component', NavigationComponent);
冉子石
2023-03-14

导航组件用于应用程序。vue,但该文件没有组件声明。看起来您已经在main中声明了它。ts,但应该将其移动到应用程序中。vue,实际使用组件的位置。

pp.vue:

<script>
import NavigationComponent from '@/components/Navigation/Navigation.component';

export default {
  name: 'app',
  components: {
    'nav-component': NavigationComponent
  }
}
</script>

另请注意

 类似资料:
  • 我正在将我的应用程序转换为使用一个活动并添加了BottomNavigationView,并努力防止在片段之间导航时重新创建片段,进行不必要的api调用。但是我无法使它工作: 不显示片段 图标未切换 触摸底部菜单项不会切换片段 触摸所选项目会使应用崩溃,并带有 TypeCastException: 活动的布局: 底部导航菜单: 在主活动中: 导航扩展: 屏幕为空白,未呈现任何片段视图。 有人能帮我解

  • 我有问题使我的导航栏坚持到页面的右手边(同时仍然在1040px容器)。我希望导航栏是在同一行的标题'Ejharris tutoring'但在右边 代码如下: 样式表: HTML:

  • 实际上,我正在我的应用程序中使用新的架构组件,并且我已经设置了导航组件。我有一个导航抽屉,我想用它。我已经设置好了,但我面临一些问题: 1-抽屉不会自动关闭。菜单正常工作并导航到正确的位置,但导航后不会关闭。我必须添加一个目的地ChangedListener才能自己关闭它。 在代码实验室里,抽屉自动关闭,我真的不明白为什么。 2-向上按钮打开抽屉。当我导航到非顶级片段时,菜单图标变为向上箭头,但当

  • 使用Android的导航组件,我有3个片段,由一个活动托管。启动片段是初始屏幕片段(a),如果用户未登录,我启动登录片段(B),如果他们登录,我启动列表片段(C)。 所以发射路线要么是A- 当您在B或C上着陆时,按下后退应该会杀死应用程序。不过,NavigationController会备份到A(我认为,A的肯定会在它崩溃的时候被调用,这可能是不相关的)。 图形编辑器中的Pop行为- 我真的需要为

  • 我想知道如何在Android应用程序中隐藏导航栏? 起初我知道如何隐藏它,但一旦我触摸屏幕,它就会弹出。我想把它隐藏起来,就像《部落冲突》这样的游戏把它隐藏起来一样,唯一让它弹出的方法是向下滑动通知或者滑动导航栏应该在的地方。

  • org.springframework.beans.factory.XML.xmlBeanDefinitionStoreException:ServletContext资源[/web-inf/servlet-context.XML]的XML文档中的第38行无效;嵌套异常是org.xml.sax.SAXParseException;行号:38;列号:109;CVC-complex-type2.4.a