首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由控制器调用时需要工厂方法

由控制器调用时需要工厂方法
EN

Stack Overflow用户
提问于 2013-06-12 17:28:55
回答 1查看 706关注 0票数 1

我使用的是一个angularJS和requireJS种子,您可以从这里下载:LINK

在该种子中,只有被调用的控制器下载相关的控制器,然后该控制器被触发。我一直在尝试从我的控制器调用工厂(没有成功),另外,我希望服务/工厂只在被调用的情况下才下载相关的工厂。

我曾尝试在工厂方法中请求一个函数(很像控制器),但它不起作用。

这就是我停下来的地方:Plunkr link

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-16 10:32:32

user971824。

我已经将一些我称之为couchPotato的东西组合在一起,它使用$routeProvider (或任何其他执行基于惰性承诺的解析的路由器)的要求和解析特性在angular中延迟注册任何东西。

我已经根据您的示例创建了一个柱塞,演示了如何使用couchPotato完成此操作。如果你看一下它,我想你会发现它有点简单,因为你实际上并没有为你懒惰注册的所有东西创建模块。

couchPotato是由我在网络上找到的其他一些示例应用程序发展而来的。我想要的是一种紧凑的方式来完成懒惰的注册,而提供者/服务组合似乎是理想的。我还希望保持一个组件依赖于另一个组件的能力,就像在您的示例中,您希望控制器依赖于工厂……couchPotato让您可以在requirejs语法中指定这些依赖项。

所以你的控制器,在我的格式中,看起来像这样:

代码语言:javascript
运行
复制
define(['app', 'myFactory'], function(app) {
  app.couchPotato.registerController([
    'mycontroller',
    [
      'myFactory',
      function(myFactory) {
        var message = myFactory.getCustomers();
        alert(message);
      }
    ]
  ]);
});

在本例中,我将控制器、工厂和值都设置为惰性的,但您可以在配置时挑选一些并让它们以“老式方式”注册,而另一些则在给定路由需要它们时注册到couchPotato。

http://plnkr.co/edit/Z3v1mszQiiq024po8Ocp?p=preview

有几件事需要注意: 1)为了触发你的控制器,你的服务(工厂)和版本值的延迟加载,我设置了一个默认路由。2)我修改了您的服务以附加版本,只是为了显示一个组件如何依赖于另一个组件(服务依赖于版本值,控制器依赖于服务)。

因此,在require配置中,您实际上没有指定任何内容...这一切都是在你的路线内懒惰地完成的。

代码语言:javascript
运行
复制
$routeProvider.when('/',
 $couchPotatoProvider.resolveDependenciesProperty({
  templateUrl:'home.html',
  controller: 'mycontroller',
  dependencies: [
   'mycontroller'
  ]
 })
);

由于mycontroller依赖于myFactory,而myFactory依赖于版本,所以当您的路由显示时,它们都是可用的并已连接起来。我在home.html部分中放了一些虚拟文本,但控制器是由$routeProvider分配的,所以实际上不需要在模板中指定它。

如果你想看一些其他的例子,couchPotato住在https://github.com/afterglowtech/angular-couchPotato。我在依赖angular中填充了它,因为我设计它的目的是为了在整个应用程序不一定使用requirejs的情况下使用它。因此,如果您正在加载angular和couchPotato,则需要使用shim/deps技术使其依赖于angular。

LMK如果你有任何问题/建议...希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17062037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档