有关在1.5.8角度组件中transclude的问题,以及它的用途。Angular 1.5使用transclude或不使用transclude
这里是一些代码的例子;
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
}
我的问题是将其使用transclude是父内更好地嵌套的所有根据面板或者可替换地通过在一个数据阵列,其这个循环出基于内部传递的阵列上的所需数量的面板的父使用绑定。
感谢
//添加您的回复,一个例子,我有transclude的可能是必要的是在下面的代码位
<modal modal-id="editCompany" title="Edit Company"> <company-form company="$ctrl.company"></company-form> </modal>
在这里,我们有一个模式
非常感谢在上面的例子中,我可以添加公司表单中的各种其他组件,但是我们可以将它作为联系表单。有其他方法吗?
您的回复,一个例子非常感谢我的transclude可能是必要的是在代码 '<模态-ID =“editCompany”称号=“修改公司”> <公司下面的位 - 形式公司=“$ ctrl.company”>公司形式> ' 这里,我们有可能有多种在其内使用的其他组件,对上述的例子我加入公司模态分量表格,但这可能是我们的联系方式。有其他方法吗? –
绝对。使用服务。我写的一个应用程序需要嵌套组件的弹出窗口(我实际上不喜欢整体用户体验,但有时候它是有道理的)。我刚刚创建了一个名为PopupService的东西,它被注入弹出指令控制器。 我通常认为将数据视为应用程序的一个完全独立的层,并使用服务来保存并提供数据,而不是在视图层次结构中上下发送事件等。我从来不会在组成部分的层次结构中出汗,也不应该;如果你修改UI标记,你会破坏你的代码。 –