V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
s609926202
V2EX  ›  前端开发

Vue.js 中更新 data 里的值后(数组对象),如何在页面实时显示?

  •  
  •   s609926202 ·
    shangdev · 2018-09-17 23:22:24 +08:00 · 3428 次点击
    这是一个创建于 2293 天前的主题,其中的信息可能已经有所发展或是发生改变。

    示例代码如下:

    <div id="app">
        <i-table stripe :columns="columns1" :data="data1"></i-table>
        <page :total="100" :current="1" @on-change="change"></page>
    </app>
    
    <script>
    new Vue({
    	el: '#app',
    	data: {
        	columns1: [
            	{
                	title: 'ID',
                    key: 'id'
                },
                
            	{
                	title: 'Title',
                    key: 'title'
                }
            ],
            data: []
        },
        mounted: function(){
        	this.data = this.setData();
        },
        methods: {
        	setData: function(){
            	return [
                    {
                        id: '1',
                        title: 'Title'
                    },
                    {
                        id: '2',
                        title: 'Title2'
                    },
                    {
                        id: '3',
                        title: 'Title3'
                    }
                ];
            },
            change: function(current) {
            	self.data = [
                	{
                        id: '4',
                        title: 'Title4'
                    },
                    {
                        id: '5',
                        title: 'Title5'
                    },
                    {
                        id: '6',
                        title: 'Title6'
                    }
                ];
            }
        }
    });
    </script>
    

    就是点击分页按钮,出发 change 方法。但是页面上还是原来的数据,并没有改变,难道数组类似的 data 和字符串或者整型类似的不一样吗?

    6 条回复    2018-09-17 23:38:34 +08:00
    chainmon
        1
    chainmon  
       2018-09-17 23:28:46 +08:00 via Android
    在模板文件里面写个 created 吧,不要在 app.vue 里面写
    allce231
        2
    allce231  
       2018-09-17 23:32:34 +08:00
    :data="data1" 大兄弟你这里哪有 data1 啊
    lovedebug
        3
    lovedebug  
       2018-09-17 23:33:06 +08:00
    怎么感觉你变量名写错了?
    s609926202
        4
    s609926202  
    OP
       2018-09-17 23:36:29 +08:00
    @allce231 呃,编辑的时候没注意,这个小问题不要纠结,你知道这个是 data 里的 data 其实就是 data1 就是了、、
    s609926202
        5
    s609926202  
    OP
       2018-09-17 23:38:17 +08:00
    @lovedebug 机智,,刚刚又检查了一次源码,,变量写错了 //
    s609926202
        6
    s609926202  
    OP
       2018-09-17 23:38:34 +08:00
    此帖完结,楼主心大、、
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2835 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:32 · PVG 15:32 · LAX 23:32 · JFK 02:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.