为什么 bootstrap-vue 不渲染 onclick?

时间:2021-04-26 11:28:26

标签: javascript vue.js bootstrap-vue

我有一个带有 v-on:click 标签的 bootstrap-vue b 按钮。但是呈现的 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>

如上所示,onclick 未在 HTML 中呈现。为什么我没有获得点击?

1 个答案:

答案 0 :(得分:2)

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

console 当您在 html 中内联时不引用任何内容(未定义,请检查您的网络控制台)。您可以使用全局 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') }