0

我在 angularjs 的页面上创建了。

在控制器内部我需要打开一个新窗口,但我需要在该页面中传递值。

所以在搜索了一段时间后,我明白了,要将任何范围变量传递到另一个页面,我只需要传递简单的 url 参数。

现在这里是第一页的代码,点击按钮时我正在调用一个角度函数。

<a ng-click="OpenUploadWindow()" class="btn btn-mini" title="SUBMIT"></a>

现在在javascript文件中。

$rootScope.OpenUploadWindow = function(){
  var appName=$rootScope.appID;
  window.open("/emo/developer/submitapp/?appName=" + appName);
}

现在 /emo/developer/submitapp 页面上的 url 看起来像这样。

http://localhost/emo/developer/submitapp/?appName=1234#?appName=1234

我不明白为什么它有两倍的价值。

而且我注意到一件事,当我从“submitapp”页面中删除 ng-controller时,它只会出现一次。但是,如果我输入任何 ng-controller 名称而不是粘贴两次。

4

1 回答 1

0

看起来您在控制器中调用了 OpenUploadWindow 或此函数的定义,因此它调用了两次。无论如何,向 rootScope 添加函数是个坏主意,尝试使用简单的 $scope。

于 2013-09-20T09:31:15.017 回答