9

我已经检查了文档和ng-href在这里没有工作的线程,但我很难过。

ng-href 是否需要完整路径?我的目前看起来像<a ng-title="{{title.text}}" ng-id="{{id.num}}" ng-href="/page.php#param:{{id.num}}"><span>go here</span></a>,但是当我点击它时,它会正确更改浏览器地址栏中的 URL(这是一个合法的 URL;我可以在地址栏中点击“输入”,它会“去那里”) ,它实际上并没有转到该页面。

怎么了?我需要将它与ng-click某种结合起来吗?如果是这样,为什么?

更新:链接将转到调用它的同一页面,但具有用于不同数据记录显示的不同参数。我认为这可能与它有关...

4

4 回答 4

13

最简单的方法是添加target="_self",在您的情况下,这是解决方案:

<a ng-title="{{title.text}}" ng-id="{{id.num}}"
 ng-href="/page.php#param:{{id.num}}" target="_self">
 <span>go here</span>
</a>

不需要 ng-click 和 AngularJS 功能。

于 2015-04-20T21:52:16.607 回答
2

这是我最终解决这个问题的方法:

模板:

<a ng-title="{{title.text}}" ng-id="{{id.num}}" ng-click="go_to_item(id.num)">
    <span>{{title.text}}</span>
</a>

Javascript:

    $scope.go_to_item = function(display) {
        window.location = '/page.php#id:' + display;
        location.reload();
    };

这在我们的应用程序中正常工作。不过,为什么特定于 Angular$location并且$window 不在那里工作对我来说是个谜。我先尝试了这些,但他们没有这样做,所以如果有人能解释原因,我会给你这个问题的“接受答案”!;-)

于 2014-09-02T20:00:25.493 回答
0

我试过你的代码,它对我有用:

<script>
$scope.title = {text: "test"};
$scope.id = {num: 123};
</script>

<a ng-title="{{title.text}}" ng-id="{{id.num}}" ng-href="/page.php#param:{{id.num}}"><span>go here</span></a>

变成这样:

<a ng-title="test" ng-id="123" ng-href="/page.php#param:123" href="/page.php#param:123"><span>go here</span></a>
于 2014-08-29T19:04:10.423 回答
-4

我之前遇到过这个问题。出于某种原因,我不被允许在ng-href里面。ng-controller

于 2015-09-23T19:29:28.800 回答