如何使用动态加载控制器的角度注入

时间:2014-10-31 17:41:08

标签: angularjs famo.us famous-angular

如何注入动态加载的模板和控制器?加载我的.html部分和.js控制器后,我会假设下一步是$ injector?但是我该如何使用它?这样的事情......?

到目前为止我的进展: http://plnkr.co/edit/rB5zteYTZ2L1WB5RzlHg

从$ http.get()

返回数据
var $injector = angular.injector(['ng']);

$injector.invoke(function($rootScope, $compile, $document) {
    $compile(data)($rootScope);
    $rootScope.$digest();
});

Controller.js文件需要采用什么格式才能使进样器/编译器正确连接?我可以简单地做我在Plunker做的事情吗?

Controller1.js

app.controller('Controller1', function ($scope, $famous) {
      console.log("Inside Controller1");
});

注意:我特别试图避免使用requirejs,ng-route,ui-route,ocLazyLoad等。我想了解这些包为路由和动态加载视图/控制器所完成的基础知识。

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您的问题,但看起来您想要动态加载视图和控制器。我使用的是angular ui routerangularAMD的组合。它工作非常顺利,通过这种方法,您可以获得良好的分离和按需加载。

来自angular ui router网页:

templateUrl: "partials/state1.list.html",
   controller: function($scope) {
   $scope.items = ["A", "List", "Of", "Items"];
}

使用该配置,指定的控制器将被加载并连接到state1.list.html。

这有帮助吗?