如何将angular $ scope数据加载到location.href?

时间:2015-12-19 22:43:52

标签: angularjs

我有以下

    <div>
        <div ng-repeat="data in datas" title='{{ data.name }}' onClick="location.href='\{{ data.name }}'" >{{ data.name }}</div><br/>
    </div>

在我的角度文件中我有

 var mainApp= angular.module('mainApp',[]);

 mainApp.controller('formCTR',['$scope','$http',function($scope,$http){
   $http.post('/here',{ data: 'something' }).success(
       function(data){
          $scope.datas=data;
       }
   )
  }]);

当我点击网址显示时

http://localhost:3000/url/{{ data.name }}

如何在onClick中显示数据的名称

http://localhost:3000/url/right_name

感谢

2 个答案:

答案 0 :(得分:0)

使用ng-click代替onClick ...

控制器

...
$scope.redirect = function(route) {
   $location.path('/' + route);
}
...

模板

<div>
    <div ng-repeat="data in datas" title='{{ data.name }}' ng-click="redirect({{ data.name }})" >{{ data.name }}</div><br/>
</div>

...或使用锚标记和ng-href

<div>
    <div ng-repeat="data in datas" title="{{ data.name }}"><a ng-href="\{{ data.name }}">{{ data.name }}</a></div><br/>
</div>

答案 1 :(得分:0)

如果你想以角度进行重定向,你可以使用点击处理程序使用'ng-click'或使用url的'ng-href'使用以下两个步骤之一:

<div>
<div ng-repeat="data in datas" title='{{ data.name }}' ng-click="redirect(data.name)" >{{ data.name }}</div><br/>
</div>

并在控制器范围内添加redirect函数

$scope.redirect = function (route) {
  $location.path('/' + route);
}

此方法允许您通过更改参数来使用相同的功能重定向到多个路由。

如果你只需要使用ng-href指令进行重定向,第二种方法是一种简单而优雅的方法:

<div>
  <div ng-repeat="data in datas" title='{{ data.name }}'>
    <a ng-href="/{{ data.name }}">{{ data.name }}</a>
  </div><br/>
</div>