0

我是 VueJs 的新手,我遇到了一个小问题,首先是我的示例 HTML 代码:

<div class="search">

        <input :class="{ longwidth : isActive }" v-show="showInput" type="text">
        <img @click="hideImgShowInput" v-show="hideImg" src="Assets/images/search-icon.png">

</div>

我完全遵循了文档,并且我使用 PHPStorm 作为编辑器,但是我更改“isActive”变量的函数不起作用我遇到了这个错误:

Attribute :class is not allowed here

任何帮助将非常感激。

4

2 回答 2

1

这听起来像是一个 PHPStorm 警告。忽略它,或尝试使用 Vue 感知编辑器,如 vs code 或 atom。你的代码对我来说看起来不错。

于 2017-12-05T09:08:40.753 回答
-1

此错误导致组件无法呈现

我的情况类似于以下

<script type="text/x-template" id="game-row">
    <tr>
        <td>{{ title }}</td>
        ...
    </tr>
</script>

这样在将类属性添加到 tr 元素时,会导致提到的消息

<script type="text/x-template" id="game-row">
    <tr :class="{ active: isActive }">
        <td>{{ title }}</td>
        ...
    </tr>
</script>

修复的方法是在自定义组件调用中传递class属性,如下

<script type="text/x-template" id="game">
    <div>
        <p v-if="isLoading">Loading...</p>
        <template v-else>
            <table>
                <caption>Game {{ title }}</caption>
                <thead>
                    <tr>
                        <th>Name</th>
                    </tr>
                </thead>
                <tbody>
                    <tr
                        is="game-day-row"
                        v-for="game of games"
                        :class="{ 'active': isActive }" <!-- Here I set the class -->
                        :key="game.id"
                        :game="game"
                    ></tr>
                </tbody>
            </table>
        </template>
    </div>
</script>

您可以在 vue 类和样式指南中阅读它

https://vuejs.org/v2/guide/class-and-style.html#With-Components

在 html 输出中,该类active被添加到 tr 元素

于 2020-08-11T02:54:15.293 回答