Javascript ng中的Angularjs控制器包括
我有一个包含项目和文章的博客系统 人们可以写文章,并在他们的项目中发挥作用 我的angular应用程序使用通用归档视图来显示任何元素,但它使用基于要显示的元素的自定义控制器。例如,我使用projectsArchiveController“更正”api数据(第一行是标题,第二行是说明),或者articleArchiveController(第一行是标题,第二行是摘录) 一切正常 现在,我尝试在一系列选项卡中显示person profile视图的元素。我想要一个项目标签,一个文章标签,等等。。(还有其他因素) 因此,在personProfileController中,我创建了一个简单的类似数组的对象:Javascript ng中的Angularjs控制器包括,javascript,angularjs,angularjs-controller,Javascript,Angularjs,Angularjs Controller,我有一个包含项目和文章的博客系统 人们可以写文章,并在他们的项目中发挥作用 我的angular应用程序使用通用归档视图来显示任何元素,但它使用基于要显示的元素的自定义控制器。例如,我使用projectsArchiveController“更正”api数据(第一行是标题,第二行是说明),或者articleArchiveController(第一行是标题,第二行是摘录) 一切正常 现在,我尝试在一系列选项卡中显示person profile视图的元素。我想要一个项目标签,一个文章标签,等等。。(还有
[
{
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>
但它也不起作用。
我在某个地方读到,我必须使用projectsController.constructor
,所以我也尝试过,但在这种情况下,它说它找不到“itemsProvider”,尽管我正在用$controller语法向他提供项
我写了这样一段话来实现它:
{
title: 'Projects',
slug: 'projects',
items: vm.projects,
controller: function(){return projectsController}
}
但是它破坏了范围层次结构,并且没有正确触发事件,所以我不知道还能做什么。有什么帮助吗?使用像ui这样的路由器怎么样。路由器:
为什么不制作一个显示内容的指令?一个包含整个模板的指令?嗯,这可能行得通,我更关注控制器的动态包含,因为我认为它比指令更容易阅读。指令很棒,而且是自包含的。您甚至可以使用一个模板参数,并使指令动态加载模板,以防每个列表项发生更改。我在最近的一个项目中这样做了,它就像一个符咒:)但是我如何动态加载它的控制器呢?每个指令都有它自己的控制器。你的控制器有什么不同?也看看这个:嗯,你知道吗,这不是个坏主意。我只是不希望URL改变。
{
title: 'Projects',
slug: 'projects',
items: vm.projects,
controller: function(){return projectsController}
}
myApp.config(function($stateProvider) {
$stateProvider
.state('projects', {
url: "/projects",
templateUrl: "partials/projects.html"
controller: 'ProjectsController'
});
}); //etc.