Angular控制器的动态属性

时间:2014-11-14 00:58:23

标签: javascript angularjs

我试图根据不同的值动态加载控制器,并想知道这样做的实际方法是什么?见下文。

我试图在其所在的控制器中检索 data-post-id 属性的值。

假设我在同一个页面上有多个 CommentsController div,并且每个div都与不同的 data-post-id 相关联。

非常感谢任何帮助。

感谢。

JS

app.controller("CommentsController", function($scope, $http) {
   $scope.comments = [];
   $scope.load = function() {
      $http.get("https://myapi.com/comments.json", [post_id: post_id])
          .success(function(data) {
              $scope.comments = data;
          });
   };
   // Load the data
   $scope.load();
});

HTML

<div ng-controller="CommentsController as comments" data-post-id="30">
   <div ng-repeat="comment in comments">
      {{ comment.body }} - {{ comment.author }}
   </div>
</div>

1 个答案:

答案 0 :(得分:0)

这可以在你的angular.module(&#39; app&#39;)中进行.config(function(){

您可以拥有一组控制器类型,即var yourCtlrTypes = ['comments','posts','users'],然后在该数组的循环内使用Angular的Controller Provider。你的循环会为数组中的每个名称创建一个控制器,每个控制器也可以根据数组对$ scopes和变量进行特殊命名..即images [x] = {}其中x是循环数组中的当前项。

});

让我知道这是否有意义,或者我可以进行演示。