关于 Angular 1.5.8 组件内嵌入的问题及其用途。
这是一些代码的示例;
var app = angular.module('app', [])
function AccordionController () {
var self = this;
// add panel
self.addPanel = function(panel) {
// code to add panel
}
self.selectPanel = function() {
//code to select panel
}
}
// register the accordion component
app.component('accordion', {
template: '<!---accordion-template-->',
controller: AccordionController
}
function AccordionPanelController () {
// use parents methods here
var self = this;
// add panel
self.parent.addPanel(self);
// select panel
self.parent.selectPanel(self);
}
// register the accordion-panel component
app.component('accordionPanel', {
// require the parent component
// In this case parent is an instance of accordion component
require: {
'parent': '^accordion',
template: '<!---accrodion-panel-template-->',
controller: AccordionController
}
我的问题是,最好使用嵌入将所有相应的面板嵌套在父级中,或者将数据数组传递给父级,这会根据使用绑定(bind)传递到内部的数组循环出所需数量的面板。
谢谢
//已添加
非常感谢您的回复,我有一个可能需要嵌入的示例,在下面的代码中
<modal modal-id="editCompany" title="Edit Company"> <company-form company="$ctrl.company"></company-form> </modal>
这里我们有一个模态组件,其中可能使用了各种其他组件,在上面的示例中,我添加了公司表单,但这可以是联系表单。还有其他方法吗?
最佳答案
我非常广泛地使用 Angular。两个管理和显示大量数据的企业工具、数十个交互式小部件模块等等。
我从来没有和 transclude 有过任何关系。在工作中,我们被明确告知不要使用它(也是链接函数)。我认为这是一件好事,从 Angular 2 的结果看来,这种想法并非完全没有道理。
我会通过迭代来布置所需数量的项目。在工作中这不会是一个选择,因为嵌入不会是一个选择。
关于javascript - Angular 1.5 使用 transclude 或不使用 transclude,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40763812/