Angular routeParams不工作的URL正在改变

时间:2015-08-28 17:44:01

标签: javascript angularjs ngroute

我在HTML中有一个按钮,其中有正确的数据呈现。

这部分似乎很有效。

module.js

.when('/tips/:group?', {
    templateUrl: 'partials/tips.html',

controller.js

.controller('TipsCtrl',
  // code
  $scope.groupid = $routeParams.group;

HTML:

<a href="#/tips/comments/{{ tip.id }}?groupid={{ groupid }}" c class="btn-yellow">Add / View Comments</a>

URL:

<a href="#/tips/comments/10274?groupid=5" class="btn-yellow">Add / View Comments</a>

无效的部分

module.js

.when('/tips/comments/:group?:groupid', {
    templateUrl: 'partials/comments.html'

controller.js

.controller('TipCommentsCtrl',
$scope.groupid = $routeParams.group;
$scope.detailFrame = $sce.trustAsResourceUrl("http://localhost:17308/Home/AddComment/" + group);

点击按钮后浏览器中的网址

http://localhost:1337/doc-home/#/tips/comments/1?status=new

为什么会这样?

我的

的网址
<iframe ng-src="http://localhost:17308/Home/AddComment/1" align="middle" width="1000" height="800" frameborder="0" src="http://localhost:17308/Home/AddComment/1">
        &lt;p&gt;Your browser does not support iframes.&lt;/p&gt;
    </iframe>

如果我更改了代码 的 module.js

浏览器网址更好,而不是完全正确。

-->  http://localhost:1337/doc-home/#/tips/comments/10274?status=new 

如果我必须在module.js中

,则会发生这种情况
.when('/tips/comments/:group?', {
    templateUrl: 'partials/comments.html'

但是URL不会有我需要的附加参数

 <iframe ng-src="http://localhost:17308/Home/AddComment/10274" align="middle" width="1000" height="800" frameborder="0" src="http://localhost:17308/Home/AddComment/10274">
        &lt;p&gt;Your browser does not support iframes.&lt;/p&gt;
    </iframe>

我希望:

http://localhost:17308/Home/AddComment/10274?groupid=5

1 个答案:

答案 0 :(得分:1)

确定这个路由应该对你有用:

 module.js -->   Notice the groupid (which you could say anything like 'id'  
 .when('/tips/comments/:group?:groupid?', {
    templateUrl: 'partials/comments.html'

 Next your controller code

 controller.js -->   Notice that I take a scope param and at to your url

  $scope.groupid = $routeParams.groupid;
  $scope.detailFrame = $sce.trustAsResourceUrl("http://localhost:17308/Home/AddComment/" + group + "?groupid=" + $scope.groupid);

这对你有用。现在,您的IFrame将在呈现的变量中具有正确的URL。