为什么 bootstrap-vue 不渲染 onclick?

Why is bootstrap-vue not rendering onclick?

我有一个带有 v-on:click 标签的 bootstrap-vue b-button。但是渲染的 HTML 不包含 onclick 事件。以下是依赖项:

"webpack": "^5.35.1",
"webpack-cli": "^4.6.0",
"webpack-dev-server": "^3.11.2"
"bootstrap": "^4.6.0",
"bootstrap-vue": "^2.21.2",
"vue": "^2.6.12",
"vue-template-compiler": "^2.6.12",

按钮:

<b-button :disabled="document.status==='Complete' || document.status==='Canceled'"
                    variant="primary"
                    title="Resend"
                    v-on:click="console.log('click')"
                >

渲染的HTML:

<button title="Resend" type="button" class="btn btn-primary">...</button>

如上所示,HTML 中未呈现 onclick。为什么我没有收到我的 onclick?

v-on:(或仅 @)将创建事件侦听器,因此无论如何它都不会在 html 中可见。

console 在 html 中内联时没有引用任何内容(未定义,请检查您的 Web 控制台)。您可以使用全局 this,那么它应该可以工作 (this.console.log(...))。

更好的做法,试试这个:

<b-button :disabled="document.status==='Complete' || document.status==='Canceled'"
                    variant="primary"
                    title="Resend"
                    v-on:click="clickHandler"
                >

然后在方法中:

clickHandler() { console.log('clicked') }