如何将这个javascript从aspx视图中移出,并放入一个单独的js文件中
How can i move this javascript outside of my aspx view and into a seperate js file?
我有一个asp.net-mvc项目,我在其中一个视图中有以下代码:
<script type="text/javascript">
$(document).ready(function () {
var locations = <%= new JavaScriptSerializer().Serialize(Model.LocationArray) %>;
我想把这个代码移到一个单独的js文件中(原因与这个问题无关),但我意识到我不能,因为代码位于<%%>之间
关于如何将其"注入"到一个单独的js文件中,有什么建议吗?
您可以在其他javascript文件中明确访问此变量。我更喜欢在变量前面加g,表示它是一个全局变量。注意加载javascript的顺序。
<Script type="text/javascript">
$(function(){
var gLocation=<%= new JavaScriptSerializer().Serialize(Model.LocationArray) %>;
});
</script>
<script src="scriptWhichUseThisVariable.js"></script>
您还可以将此变量传递给在外部javascript文件中编写的函数。
$(function(){
var gLocation=<%= new JavaScriptSerializer().Serialize(Model.LocationArray) %>;
MyFunctionInCustomJSFile(gLocation);
});
确保您加载了javascript文件,该文件中定义了函数MyFunctionInCustomJSFile
。还确保在上面的代码执行完成后执行的代码块中访问它。
在外部文件运行之前,在本地文件中设置locations
值。由于该值是在服务器端填充的,因此不需要将其嵌套在.ready()
中。
如果是数据而不是代码,一种选择是在运行时通过AJAX加载它。
相关文章:
- 将路由器配置放在Aurelia中的一个单独文件中
- 将另一个文件中的对象添加到单独文件中的阵列中
- 如何使用ngModel将自定义控件的提供程序扩展器分离到Angular 2中的单独文件中
- 我在哪里可以获得印度的.geojson文件,而不是每个州/地区的单独文件或任何其他区别
- 在单独文件夹/位置中的.js文件之间共享变量
- 在带有 html 的单独文件中实现 jQuery
- 如何制作d3.js饼图的单独文件并将其加载到html页面
- 使用在带有gulp和babel的单独文件中定义的ES6函数
- 单独文件中的Express中间件(multer)
- Node Express.js从单独文件中声明的路由访问变量
- 如何在react中将单独文件中的组件链接在一起
- 在angular js中的一个单独文件中定义应用程序
- 放置应用程序,控制器&单独文件中的服务
- Javascript连接文件的运行速度比单独文件慢
- 如何调用保存在单独文件中的javascript ?
- Ionic中单独文件中的控制器,包括order
- Gulp模块,可以提取