繁体   English   中英

如何从子aspx页面更新JS文件中的变量

[英]How to update variable in the JS file from a child aspx page

我有一个下面的代码的JS文件。 我需要从子aspx页面更新变量currentIndex的值。 现在,此js引用位于父页面上。 我想知道如何去做。 应该从child.aspx页传递什么语法,以便在任何地方都具有currentIndex的更新值。

(function($, global, undefined) {
  var slides, currentIndex, $container, $fragmentLinks;

  var events = {
...
     prev: function() {
       methods.go(currentIndex-1);
     },
...

您可以公开一个将currentIndex变量修改为全局范围的函数。 但是这种方法不能很好地扩展,应该被认为是不好的做法,因为它可能会导致名称冲突和其他弊端。 如何避免JavaScript中的全局变量? 因此,如果您需要从子iframe访问父页面,则应该考虑更好的方法,例如通过消息https://stackoverflow.com/a/41566923/2138959或类似的自定义实现进行通信。

目前,解决问题的最简单方法是定义一个setter函数,该函数将更新currentIndex变量:

(function($, undefined) {
  var slides, currentIndex, $container, $fragmentLinks;

  window.setCurrentIndex = function(indexValue) {
    currentIndex = indexValue;
  };

  var events = {
...
     prev: function() {
       methods.go(currentIndex-1);
     },
...

例如,如果要将索引设置为值3 ,则可以执行以下操作:

window.setCurrentIndex(3);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM