vue-cli构建的vue项目,为什么app.vue中的方法触发不到

app.vue代码

<template>
    <div id="app">
        <ipsa-menu style="position:relative;z-index: 999;"
                   userPhoto="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1536247527540&di=69b5d66745ae8a452f0f960083cd8384&imgtype=0&src=http%3A%2F%2Fpic.fxxz.com%2Fup%2F2017-9%2F2017921188403069.jpg"></ipsa-menu>
        <router-view class="bodyAuto"></router-view>
    </div>
</template>
<script>
    export default {
        name: "app",
        methods:{
            showErrMag(mag){
                this.$Modal.error({
                    title: '错误提示',
                    content: '<p>'+ mag +'</p>'
                });
            }
        },
        created(){
            console.log(this.$route.path)
        }
    }
</script>
<style lang="less">
    #app {
        font-family:'PingFang SC','Microsoft YaHei','SimSun','Arial', sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        /*text-align: center;*/
        color: #2c3e50;
    }

    /*body{*/
    /*margin: 0;*/
    /*}*/
    a {
        color: #00B7FF;
    }

</style>
<script>
    // @ is an alias to /src
    import ipsaMenu from "@/components/ipsamenu/ipsaMenu.vue";

    export default {
        name: "app",
        components: {
            ipsaMenu
        }
    };
</script>

运行以后,created中的方法不执行,结果截图

clipboard.png

找了好久没找到为啥,上网也没搜到相关的,希望有遇到同样问题的帮忙指点下问题所在,谢谢

阅读 5.7k
3 个回答
这个组件(页面/路由)调用了么?
这样最简单的
http://localhost:3000/#/app的路由名字
app的路由名字换成你配置的路由名称 看看触发不触发

QQ已解决,按楼主说的就好 不完善了 方案好几个

这个是没有问题的。你可以看下页面是否报错了,在 main.js 里添加下面这段代码,看看

Vue.config.errorHandler = function (err, vm, info) {
  console.log(err);
};

因为配置原因,写在main.js中写就好用了,如下:

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import iView from 'iview';
import 'iview/dist/styles/iview.css';
import '@/my-theme/index.less';
import '@/assets/css/iconfont.css';
import '@/assets/css/common.less';

Vue.config.productionTip = false;
Vue.use(iView);

new Vue({
    router,
    created() {
        console.log(this.$route.path)
    },
    store,
    render: h => h(App)
}).$mount("#app");

同时非常感谢大家热心的帮助

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题