Angularjs控制器包括
Angularjs controller in ng-include
我有一个包含项目和文章的博客系统。
人们可以写文章,并在他们的项目中出现。
我的angular应用程序使用一个通用的归档视图来显示任何元素,但它使用了一个基于显示哪个元素的自定义控制器。例如,我有projectsArchiveController,它"更正"api数据(第一行是标题,第二行是描述),或者articleArchiveController(第一行为标题,第二行为摘录)。
一切都很好。
现在,我正试图在一系列选项卡中为个人配置文件视图显示元素。我想要一个项目标签,一个文章标签,等等。(还有其他元素)。
因此,在我的personProfileController中,我创建了一个简单的类似数组的对象:
[
{
title: 'Projects',
slug: 'projects',
items: vm.projects,
controller: "ProjectsArchiveController"
},{
title: 'News',
slug: 'news',
items: vm.news,
controller: "NewsArchiveController"
},{
title: 'Insights',
slug: 'insights',
items: vm.insights,
controller: "InsightsArchiveController"
}
];
因此,在我看来,我只是用一个ng repeat迭代这个对象,并使用正确的控制器包含归档模板。。
<tabset>
<tab ng-repeat="tab in vm.tabs" heading="{{ tab.title }}" active="tab.active">
<div ng-controller="tab.controller" ng-include="'views/archive.html'">
</div>
</tab>
</tabset>
但它不起作用,因为Angular需要一个控制器函数,而我提供了一个字符串。
所以我尝试了这个:
var projectsController = $controller('ProjectArchiveController', {$scope: $scope.$new(), items: vm.projects});
[{
title: 'Projects',
slug: 'projects',
items: vm.projects,
controller: projectsController
}, ...
但它也不起作用。我在某个地方读到我必须使用projectsController.constructor
,所以我也尝试过,但在这种情况下,它说找不到"itemsProvider",尽管我正在用$controller语法向他提供项目。
我写了这样的文章:
{
title: 'Projects',
slug: 'projects',
items: vm.projects,
controller: function(){return projectsController}
}
但它破坏了作用域层次结构,事件也没有正确启动,所以我不知道还能做什么。有什么帮助吗?
使用像ui.router:这样的路由器怎么样
http://angular-ui.github.io/ui-router/site/#/api/ui.router
myApp.config(function($stateProvider) {
$stateProvider
.state('projects', {
url: "/projects",
templateUrl: "partials/projects.html"
controller: 'ProjectsController'
});
}); //etc.
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 包括用于facebook评论框的JavaScript SDK
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在控制器和数据对象之间同步数据
- 将Javascript数组发送到控制器ASP.NET MVC
- 角度控制器结构
- 如何在Jquery中发布后将值从视图返回到控制器
- 将值从html传递到AngularJS控制器
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 从控制器继承了隔离的作用域以生成可重用的指令
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 查找元素高度,包括边距
- CodeIgniter:用于获取包括图像在内的值的控制器
- angularjs ng包括来自控制器的通过值
- 使用滑块控制器更新地图数据/阴影?包括示例
- Ionic中单独文件中的控制器,包括order
- Angularjs控制器包括