加载页面时,vue组件不显示。如何显示?

时间:2017-03-04 15:52:59

标签: javascript vuejs2 vue-component

加载页面时<project-comp></project-comp>组件无法显示。我已使用projects挂钩设置created属性。但它没有工作

这是我的代码:

Vue.component('project-comp',{
        template: `
        <div class='box'>            
            <div v-for='one in this.$parent.projects'>
               <h2> @{{one.place}}</h2>
               <h2> @{{one.time}}</h2>
            </div>
        </div>
        `,
});

var app = new Vue({
        el: '#root',

        props:['projects'],

        created: function () {
            $.post(
                'url',
                {'city':'beijing'},
                function(data){
                    this.projects = data;
                },
                'json'
            );
        },


});

1 个答案:

答案 0 :(得分:3)

似乎这个范围不正确,你应该拥有它:

var app = new Vue({
        el: '#root',    
        props:['projects'],
        created: function () {
            var self = this
            $.post(
                'url',
                {'city':'beijing'},
                function(data){
                    self.projects = data;
                },
                'json'
            );
        },
});

使用ES-6可以只是:

var app = new Vue({
        el: '#root',    
        props:['projects'],
        created: function () {
            $.post(
                'url',
                {'city':'beijing'},
                (data) => {
                    this.projects = data;
                },
                'json'
            );
        },
});

检查this以获取解释。