.NET Framework viewmodel转换为单独的Javascript文件

.NET Framework viewmodel转换为单独的Javascript文件,javascript,asp.net-mvc,vue.js,model-view-controller,razor,Javascript,Asp.net Mvc,Vue.js,Model View Controller,Razor,我想我有一个基本问题。。。 我想要我的设计。我有 testController.cs testViewModel.cs testView.cshtml testScript.js 我在控制器中生成一些数据,填充testViewModel并将其传递给Razor视图 在razor视图中,我可以使用 <script> var someVariable = @Model.someVariable; </script> 这很好,直到我想将javascript代码移动到一个

我想我有一个基本问题。。。 我想要我的设计。我有

testController.cs testViewModel.cs testView.cshtml testScript.js 我在控制器中生成一些数据,填充testViewModel并将其传递给Razor视图 在razor视图中,我可以使用

<script>
    var someVariable = @Model.someVariable;
</script>
这很好,直到我想将javascript代码移动到一个单独的js文件中

获取驻留在javascript文件中的变量中的数据的最佳方法是什么

这实际上是一个基本问题,第二,一旦它起作用 我想以同样的方式在一个单独的文件中使用VueJs

但我不知道如何将数据从razor视图获取到vue数据变量中


最佳实践是什么?

我认为不一定有最佳实践,因为不同的解决方案将适用于不同的场景。话虽如此,我倾向于这样做的一种方法是使用IIFEs的显示模块模式。所以它可能看起来像这样:

SomeScript.js

变量模块=函数{ var-someVariable=null; 返回{ //将从调用方传递someExternalVar init:函数someExternalVar{ someVariable=someExternalVar; } }; }; 然后在Razor视图中:

MyRazor.cshtml

一些模块。init@Model.someVariable; 我相信您可以扩展此模式,使用传递给SomeModule.init的参数实例化Vue