我有这个超级基本的起点:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>

    <link rel="stylesheet" type="text/css" href="Content/dictionary.css" />

    <script src="Scripts/kuroshiro.min.js"></script>
</head>
<body>
    <div id="searchResultsVue">
        <table>
            <tr v-for="r in results">
                {{ r.Result.ent_seq }}
            </tr>
        </table>
    </div>


    <script src="https://vuejs.org/js/vue.js"></script>
    <script>


        var searchResultsVue = new Vue({
            el: '#searchResultsVue',
            data: { results: [{ Result: { ent_seq: 'asd' } }] }
        });
    </script>
</body>
</html>


但我明白了


  [Vue警告]:属性或方法“ r”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保在data选项中或对于基于类的组件,此属性都是反应性的。请参阅:https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties


我不明白

最佳答案

这是HTML宽大的渲染实践的问题。当它为一个表构建Dom元素时,它期望一个特定的结构,任何偏离该结构的东西都被推到定义之外。

所以

    <table>
        <tr v-for="r in results">
            {{ r.Result.ent_seq }}
        </tr>
    </table>




    <table>
        <tr v-for="r in results">
        </tr>
    </table>
    {{ r.Result.ent_seq }}


然后,错误是它正在循环外看到对循环变量的调用。

As seen in this fiddle在代码周围添加表定义标记可防止其被推送。

关于javascript - 基本的Vue.js示例不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47911538/

10-10 17:29