0

我真的很喜欢 AngularJS 背后的概念,并且认为我对编写一个非常基本的 CRUD 应用程序的基础知识有很好的理解。但是一旦我试图将知识转移到现实生活中的问题上,我就开始纠结于它如何映射到 AngularJS 中的概念。

我的问题:我想要一个动态的“子视图”(视觉上是一个弹出、模式、向导;但是你想命名它)。由自定义控制器控制。

谈到一些 HTML,我有这样的事情:

<div id="container"></div>

我想基于事件(按钮单击)将子视图注入到这个 div 中。这个模板(例如,我可以通过 ng-include 注入)应该独立于控制器;我想以编程方式绑定这两个,所以我可以用不同的显式控制器重用模板。

那么,第一个问题是:如何以编程方式将控制器绑定到 DOM(div)的子部分?

其次,我还想拥有通用且可重用的控制器。例如,为自定义标题文本创建一个带有名称的控制器,但其他一切在逻辑上都是相同的。如何将这些类型的参数传递给控制器​​?由于控制器是通过 AngularJS 框架隐式创建的,因此我真的没有任何技巧可以使用一组参数以编程方式创建控制器。或者有吗?

很抱歉这个相当抽象的解释,我不希望你给我一个可行的解决方案,但我感谢任何帮助/评论,将引导我走向正确的方向。

最后,我想将这样的东西映射到AngularJS:

var ctrl = new PopupController("subviewtemplate.html", "headline text");
screenCtrl.show(ctrl);
4

1 回答 1

0

不知道你为什么反对创建控制器。让它成为一个指令。或修改/查看现有方法,如 Angular-UI 的消息指令。 http://angular-ui.github.io/bootstrap/#/dialog

我建议在模板中使用 ng-include 作为函数来创建这样的动态模板方法:

在指令中自定义模板

也很有用: 如果我有 jQuery 背景,“在 AngularJS 中思考”?

于 2013-08-22T20:58:44.013 回答