标签: vue-component

Vue.js - 如何从另一个组件调用方法

我正在使用Vue.Js v2.我想在component2-> c2method中调用component1-> c1method来提交后重新加载数据.

Vue.component('component1', {
  methods: {
    c1method: function(){
     alert('this is c1method')
    },
  }
})
Vue.component('component2', {
  methods: {
    c2method: function(){
     component('component1').c1method()//like this
    },
  }
})
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component vuejs2

26
推荐指数
6
解决办法
4万
查看次数

如何在单个文件组件中使用VueJS 2全局组件?

我试图在单个文件组件中使用全局注册的组件(使用Vue.component)但我总是得到

vue.common.js:2611[Vue warn]: Unknown custom element: <my-component> - did you register the component correctly?
Run Code Online (Sandbox Code Playgroud)

例如:

main.js:

...
Vue.component('my-component', {
    name: 'my-component',
    template: '<div>A custom component!</div>'
})
...
Run Code Online (Sandbox Code Playgroud)

home.vue:

<template>
    <div>
        <my-component></my-component>
    </div>
</template>
<script>
    module.exports = {
        name: 'home'
    }
</script>
Run Code Online (Sandbox Code Playgroud)

如果我在本地注册它,它可以正常工作:

<template>
    <div>
        <my-component></my-component>
    </div>
</template>
<script>
module.exports = {
    name: 'home',
    components: {
        'my-component': require('./my-component.vue')
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component

24
推荐指数
2
解决办法
2万
查看次数

如何编写在vue组件中模拟$ route对象的测试

我有一个包含类似语句成分this.$route.fullPath,我应该怎么嘲笑的值fullPath$route对象,如果我想测试组件?

unit-testing sinon vue-component vue-loader vuejs2

24
推荐指数
3
解决办法
2万
查看次数

如何在最新的vue-cli启动项目中使用SASS/SCSS?

我需要在我的项目中使用SASS或SCSS.

我使用vue-cli制作了最新版本的初学者项目.

有没有人在使用webpack在最新的初学者项目中使sass/scss工作成功?

sass webpack vue.js vue-component vuejs2

24
推荐指数
2
解决办法
2万
查看次数

如何在vue js html中添加多个图像和其他输入字段?

我的HTML代码是

我还需要添加阵列格式的sez,我还需要添加多个图像,需要提供添加图像,点击它时需要根据客户需要添加图像

<form method="POST" enctype="multipart/form-data" v-on:submit.prevent="handleSubmit($event);">
  <div class="row">
    <div class="col-md-4">
      <div class="form-group label-floating">
        <label class="control-label">Name</label>
        <input type="text" class="form-control" v-model="name">
      </div>
    </div>
    <div class="col-md-4">
      <div class="form-group label-floating">
        <label class="control-label">Alias</label>
        <input type="text" class="form-control" v-model="alias">
      </div>
    </div>
    <div class="col-md-4">
      <div class="form-group label-floating">
        <label class="control-label">Sex</label>
        <select class="form-control" v-model="sex" id="level">
        <option value="Male">Male</option>
        <option value="female">Female</option>
        </select>
      </div>
    </div>
  </div>
  <div class="row" v-for="(book, index) in sez" :key="index">


    <div class="col-md-4">
      <div class="form-group label-floating">
        <label class="control-label">Date </label>
        <input type="date" class="form-control" v-model="book.date">
      </div>
    </div>
    <div class="col-md-8">
      <div class="form-group label-floating">
        <label …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery vue.js vue-component

24
推荐指数
2
解决办法
2617
查看次数

在VueJs 2.0中重新初始化数据的正确方法

我在SO上回答这个问题:是否有正确的方法在vuejs中重置组件的初始数据?

但是,现在不允许使用当前方法,VueJS禁止更改$ data var.

正如您在此https://github.com/vuejs/vue/issues/2873中所见($ data不允许修改.)

所以如果我尝试上面的方法,我会得到一个VueJS警告:

[Vue警告]:避免替换实例根$ data.请改用嵌套数据属性.

这是我的JS代码,

function initialState () {
        return {
            h2: 0,
            ch4: 0,
            c2h6: 0,
            c2h4: 0,
            c2h2: 0,
            c3h8: 0,
            c3h6: 0,
            co: 0,
            co2: 0,
            o2: 0,
            n2: 0,
            selected: ''
        }
    }
    export default {
        name: 'something',
        data () {
            return initialState() // This is working fine 
        },
        computed: {
            tdcg: function () {
                // some logic here...
            }
        },
        methods: {
            resetFields: function () {
                this.$data …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component

23
推荐指数
2
解决办法
1万
查看次数

Vue.js改变道具

我对如何更改组件内的属性感到有点困惑,假设我有以下组件:

{
    props: {
        visible: {
            type: Boolean,
            default: true
        }
    },
    methods: {
         hide() {
              this.visible = false;
         }
    }
} 
Run Code Online (Sandbox Code Playgroud)

虽然它有效,但会发出以下警告:

避免直接改变道具,因为只要父组件重新渲染,该值就会被覆盖.而是根据prop的值使用数据或计算属性.Prop变异:"可见"(在组件中找到)

现在我想知道处理这个问题的最佳方法是什么,显然visible在DOM中创建组件时传入了属性:<Foo :visible="false"></Foo>

javascript vue.js vue-component

23
推荐指数
4
解决办法
5万
查看次数

在load vue.js上运行组件方法

嘿,我对Vue.js很陌生,我正在努力完成一件似乎很简单的事,但我遇到了麻烦.从本质上讲,我需要它,所以每次将一个组件加载到DOM中时,其中一个方法就会触发.这是我当前的代码,我尝试使用v-on:load但它似乎不起作用.

Vue.component('graph', {
    props:['graphId','graphData'],
    template: '<canvas v-on:load="{{populateGraph()}}"></canvas>',
    methods: {
        initGraph: function () {
            var settlementBalanceBarChart = new Chart(this.graphId, {
                type: "bar",
                data: settlementBalanceBarData,
                options: settlementBalanceBarOptions
            });
        },
        //this is the function I would like to run
        populateGraph: function () {
            alert('{{graphId}}');
        }
    }

});

var vm = new Vue({
    el: "#app",
    mounted: function(){

    }

});
Run Code Online (Sandbox Code Playgroud)

如果我使用v-on:click事件,相同的代码功能正常

javascript vue.js vue-component

22
推荐指数
2
解决办法
2万
查看次数

VueJS 2 - 如何使用$ emit传递参数

我正在使用VueJS 2处理模态组件.现在,它基本上可以工作 - 我点击一个按钮,模态打开,等等.

我现在要做的是为模态创建一个唯一的名称,并将该按钮与该特定按钮相关联.

这就是我的想法.模态具有唯一的名称属性:

<modal name='myName'>CONTENT</modal>

这将是关联按钮:

<button @click="showModal('myName')"></button>

我需要弄清楚的是如何将showModal的参数传递给模态组件.

这是我在root vue实例中使用的方法(即,不在我的模态组件中):

methods: {
    showModal(name) { this.bus.$emit('showModal'); },
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是访问组件中的name属性 - 如下所示:

created() {
    this.bus.$on('showModal', () => alert(this.name));
}
Run Code Online (Sandbox Code Playgroud)

但这显示为undefined.

那么我做错了什么?如何访问模态组件中的name属性?

注意:如果您想知道this.bus.$ on是什么,请参阅我之前提出的问题的以下答案:https://stackoverflow.com/a/42983494/7477670

javascript vue.js vue-component vuejs2

21
推荐指数
1
解决办法
2万
查看次数

如何使用vue-router在vuejs中创建404组件

我是vuejs的新手,我正在用vue开展我的第一个项目.我只是想知道如果找不到请求的URL,我将如何路由到我的404.vue组件.

任何的想法?

http-status-code-404 vue.js vue-router vue-component

20
推荐指数
4
解决办法
2万
查看次数