如何动态路由Angular.js中的对象列表?

时间:2015-05-06 20:46:12

标签: angularjs routing routes angularjs-routing

如何将此<a>标记链接到模板,然后根据链接的项目动态填充数据?

能够通过'/skreens'视图链接到'/viewpoint''/dogedots''project.html'等任何网址,  但模板不会动态填充该模板中的表达式。

这是我的项目清单。

<li ng-repeat="project in projects">          
  <a href="#linkUrl">{{project.title}}</a>
</li>

这是他们链接到(project.html)的视图

<h1>{{project.title}}</h1> //right now nothing appears here :(

<a>链接使用从

加载的静态数据填充其href
angular.module('MyWeb', ['ngRoute'])
  .config( ['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/viewpoint', {
            templateUrl: '/myWebpage/app/templates/project.html'
            controller:'MainControl'
        })
        .when('/dogedots', {
            templateUrl: '/myWebpage/app/templates/project.html',
            controller:'MainControl'
        })
        .when('/skreens', {
            templateUrl: '/myWebpage/app/templates/project.html'
            controller:'MainControl'
        })
        .otherwise({
            redirectTo: '/',
            templateUrl: '/myWebpage/app/templates/portfolio.html'
        })
  }])
  .controller('MainControl', function($scope){
      $scope.projects = [
         { "id": 0, "linkUrl": "skreens", "title": "Skreens"},
         { "id": 2, "linkUrl": "viewpoint", "title": "ViewPoint Cloud"},
         { "id": 1, "linkUrl": "dogedots", "title": "Doge Dots"}
      ]
  })

控制器:&#39; MainControl&#39; 但是项目数据不会填充模板t

1 个答案:

答案 0 :(得分:1)

首先,要使用ng-router进行链接,您应该使用ng-href="{{project.linkUrl}}"。你现在定义它的方式是行不通的。

就未正确显示的值而言,根据您发布的内容,它并未显示您将控制器绑定到任何地方的视图。这应该发生在.when对象中。防爆。 .when('/portfolio', { controller:'MainControl', templateUrl:'/myWebpage/app/templates/portfolio.html' })