[英]Is it possible to use Vue and Vue component in Blazor?
I wish to use Vue/Vuetify components in Blazor as I am hooked to it because its robust.我希望在 Blazor 中使用 Vue/Vuetify 组件,因为它很强大。
I have tried this but no luck.我试过这个,但没有运气。
<body>
<div id="app">Loading...</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<script src="_framework/blazor.webassembly.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script>
new Vue({
el: '#app',
message: 'Hello from Vue!'
})
</script>
Index.razor索引.razor
@page "/"
<h1>Hello, world!</h1>
Welcome to your new app.
<SurveyPrompt Title="How is Blazor working for you?" />
<p>{{ message }}</p>
Is there a trick or workaround to run Vue within Blazor?在 Blazor 中运行 Vue 是否有技巧或解决方法?
<!-- wwwroot/index.html -->
<script src="_framework/blazor.webassembly.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script>
window.newVueApp = function () {
new Vue({
el: "#app",
data: {
counter: 0,
},
methods: {
increment() {
this.counter++;
},
},
});
};
</script>
<!-- Shared/MainLayout.razor -->
<div class="content px-4" id="app" v-cloak>
@Body
</div>
...
@code {
protected override async Task OnAfterRenderAsync(bool firstRender)
{
await JS.InvokeVoidAsync("newVueApp");
}
}
<!-- Pages/Index.razor -->
<p>counter: {{ counter }}</p>
<button @click="increment">Increase counter</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.