【问题标题】:How to loop in template tag on the vue.js 2?如何在 vue.js 2 上循环模板标签?
【发布时间】:2023-04-06 19:16:02
【问题描述】:

我的代码是这样的:

<template>
    <nav aria-label="Page navigation">
        <ul class="pagination">
            <li>
                <a href="#" aria-label="Previous">
                    <span aria-hidden="true">&laquo;</span>
                </a>
            </li>
            @for(i=0;i<total;i++)
            <li><a href="#">{{i}}</a></li>
            @endfor
            <li>
                <a href="#" aria-label="Next">
                    <span aria-hidden="true">&raquo;</span>
                </a>
            </li>
        </ul>
    </nav>
</template>
<script>
    export default{
        props:['total', 'data'],
        created: function(){
            console.log(this.$store.state.product.next_page);
        },
        computed:{
            next:function(){
                return this.$store.state.product.next_page
            }
        }
    }
</script>

我试试代码。但它不起作用。

存在错误:

[Vue 警告]:属性或方法“i”未在实例上定义,但 在渲染期间引用。确保声明反应数据 数据选项中的属性。

例如变量total = 5,则显示如下:

<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>

我该怎么做?

【问题讨论】:

    标签: javascript pagination vue.js laravel-5.3 vuejs2


    【解决方案1】:

    来自Range v-for

    <li v-for="i in total">
      <a href="#">{{i}}</a>
    </li>
    

    只要确保total 是一个整数而不是字符串。例如,而不是

    <component-name total="5"...
    

    使用

    <component-name :total="5" ...
    

    https://vuejs.org/v2/guide/components.html#Literal-vs-Dynamic

    【讨论】:

    • @moses 老兄,只要问你的问题,让人们回答他们而不会被打扰
    • 如果打扰到您,我很抱歉
    猜你喜欢
    • 2021-01-28
    • 2018-10-15
    • 2013-10-26
    • 2018-05-03
    • 2019-11-12
    • 2019-07-08
    • 2021-08-11
    • 2020-11-07
    • 1970-01-01
    相关资源
    最近更新 更多