使用Angular'ng-click'和'ng-repeat'来创建动态链接

时间:2013-10-31 13:19:05

标签: angularjs

我有一个设置,我试图使用我的JSON对象在ng-repeat中创建URL字符串。在broswer中检查时文本是可见的,但它不起作用,或者控制台记录错误。

HTML看起来像这样:

<div ng-repeat="project in projects">
  <div ng-click="go('/projects/{{project.url}}')"></div>
</div>

我将$ location服务解析到我的控制器中,然后使用以下内容更改页面网址(请注意,我已在视图中使用非动态网址检查此工作):

$scope.go = function (path) {
  $location.path(path);
};

我正在使用的JSON对象的示例如下所示:

$scope.projects = [
  {
    url: 'paul-davis'
  }
];

2 个答案:

答案 0 :(得分:4)

ng-click中的代码是角度脚本,而不是使用{{...}}的模板代码。用它作为:

<div ng-click="go('/projects/' + project.url)"></div>

答案 1 :(得分:0)

您可以在<a>内放置一个带有动态广告系列的ng-repeat代码,它可以按照您的预期运作 - 尽管使用ng-href更好,所以您的链接不会在数据绑定准备好之前中断。 你可以看看这个Angular tuto https://docs.angularjs.org/api/ng/directive/ngHref