Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在装入的事件中为vue组件数据成员分配值_Javascript_Vue.js_Vuejs2_Vue Component - Fatal编程技术网

Javascript 如何在装入的事件中为vue组件数据成员分配值

Javascript 如何在装入的事件中为vue组件数据成员分配值,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我一直在阅读vue文档,并开始编写一些代码来测试我的知识。我曾尝试编写一个组件,在装入时设置数据成员,但它似乎无法按预期工作。组件数据成员“profiles”始终为空。我的直觉告诉我这可能与范围有关,但不确定: Vue.component('profile-grid', { template: '<section> {{profiles}} </section>', //Data es la parte privada del documento. Pr

我一直在阅读vue文档,并开始编写一些代码来测试我的知识。我曾尝试编写一个组件,在装入时设置数据成员,但它似乎无法按预期工作。组件数据成员“profiles”始终为空。我的直觉告诉我这可能与范围有关,但不确定:

Vue.component('profile-grid', 
{
    template: '<section> {{profiles}} </section>',
    //Data es la parte privada del documento. Props la parte publica que se deberia de pasar desde la instancia Vue
    data: () =>
    {
        return {
            profiles: []
        };
    },
    methods:
    {
    },
    created: () =>
    {
        //console.log("I was just created")
    },
    mounted: () =>
    {
        //console.log("I was just mounted")
        this.profiles = ['1', '2', '3'];     
    }

})

//Vue instance
new Vue(
{
    el:'main',
    data:
    {
    },
    methods:
    {
    },
    mounted: () =>
    {
    }

});
Vue.component('profile-grid',
{
模板:“{profiles}}”,
//数据来源于文档的私有部分。公共部分的支撑物来源于文档的公共部分
数据:()=>
{
返回{
个人资料:[]
};
},
方法:
{
},
创建:()=>
{
//log(“我刚刚被创建”)
},
挂载:()=>
{
//log(“我刚刚挂载了”)
this.profiles=['1','2','3'];
}
})
//Vue实例
新Vue(
{
el:'main',
数据:
{
},
方法:
{
},
挂载:()=>
{
}
});
HTML页面

//HTML Page
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Page Title</title>
</head>

<body>
    <main>
        <profile-grid></profile-grid>
    </main>
</body>

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="main.js"></script>

</html>
//HTML页面
页面标题
有人知道发生了什么事吗


提前感谢。

您偶然发现了一个VUEJ。基本上,您正在以Vuejs无法响应的方式替换原始配置文件,因此它不会得到更新

注意数组中的更改的一种方法是首先将数据属性指定为null,然后在mounted方法中指定一个数组。 以后可以更新反应式数组的另一种方法是使用数组变异方法(如push)或非变异方法(如map)生成新数组,并用新数组替换旧数组

Vue.component('profile-grid'{
模板:`
{{profiles&&profiles.length?配置文件:'}}
{{profilesTwo&&profilesTwo.length?profilesTwo:''}
`,
数据(){
返回{
配置文件:null,
profilesTwo:[]
};
},
创建(){
//log(“我刚刚被创建”)
},
挂载(){
//log(“我刚刚挂载了”)
this.profiles=['1','2','3'];
this.profilesTwo=['5','4','6'].map(item=>item)
}
});
新Vue({
el:“#应用程序”,
数据(){
返回{}
},
挂载(){
log('vue实例已装入');
} 
});

不要将Vue挂钩、方法等声明为箭头函数。箭头函数使用父上下文中的

箭头函数没有它自己的函数;使用封闭执行上下文的此值

您应该使用方法定义语法或函数声明,以便能够将此
用作Vue实例:

mounted: function() {
    //do something
}


请参阅本节底部的注意事项。

您能告诉我们如何使用该组件吗?@destoryer添加了vue intsance的构造和简单的html页面测试。
mounted() {
    //do something
}