Angularjs 如何在Angular UI引导中设置模板变量?(手风琴)

Angularjs 如何在Angular UI引导中设置模板变量?(手风琴),angularjs,angular-ui-bootstrap,Angularjs,Angular Ui Bootstrap,我尝试用Angular UI Bootstrap()构建一个手风琴。在上,我找到了使用模板的有效解决方案 在我的代码中,我添加了带有 在此模板中,a可以使用由设置的{{heading}},请参见编辑的plunker: 您试图在指令的模板中嵌套控制器。我可能弄错了,但这不管用,或者至少不是很好的方式 我建议将CollapseDemoCtrl转换为指令,而不是嵌套控制器。然后可以将{{group.content}或任何其他内容传递到此指令 编辑:如何将数据传递到指令范围的示例 HTML将如下所示:

我尝试用Angular UI Bootstrap()构建一个手风琴。在上,我找到了使用模板的有效解决方案

在我的代码中,我添加了带有

在此模板中,a可以使用由

设置的
{{heading}}
,请参见编辑的plunker:

您试图在指令的模板中嵌套控制器。我可能弄错了,但这不管用,或者至少不是很好的方式

我建议将
CollapseDemoCtrl
转换为指令,而不是嵌套控制器。然后可以将
{{group.content}
或任何其他内容传递到此指令


编辑:如何将数据传递到指令范围的示例

HTML将如下所示:

<span ng-repeat="group in groups">
  <div testDirective content="group.content" title="group.title"> </div>
</span>

该指令将如下所示:

angular.module('testModule', [])
  .directive('testDirective', function(){
    return {
      restrict: 'A',
      scope: { 
        content:'=content',
        title: '=title'
      },
      template: '<h1>{{title}}<h1> <div>{{content}}</div>',
      link: function(scope, element, attrs) {
      }
    }
  });
angular.module('testModule',[])
.directive('testDirective',function(){
返回{
限制:“A”,
范围:{
内容:'=内容',
标题:'=标题'
},
模板:“{{title}}{{content}}”,
链接:函数(范围、元素、属性){
}
}
});
请参见编辑的plunker:

您试图在指令的模板中嵌套控制器。我可能弄错了,但这不管用,或者至少不是很好的方式

我建议将
CollapseDemoCtrl
转换为指令,而不是嵌套控制器。然后可以将
{{group.content}
或任何其他内容传递到此指令


编辑:如何将数据传递到指令范围的示例

HTML将如下所示:

<span ng-repeat="group in groups">
  <div testDirective content="group.content" title="group.title"> </div>
</span>

该指令将如下所示:

angular.module('testModule', [])
  .directive('testDirective', function(){
    return {
      restrict: 'A',
      scope: { 
        content:'=content',
        title: '=title'
      },
      template: '<h1>{{title}}<h1> <div>{{content}}</div>',
      link: function(scope, element, attrs) {
      }
    }
  });
angular.module('testModule',[])
.directive('testDirective',function(){
返回{
限制:“A”,
范围:{
内容:'=内容',
标题:'=标题'
},
模板:“{{title}}{{content}}”,
链接:函数(范围、元素、属性){
}
}
});

谢谢。你似乎解决了我的问题,但没有回答问题。因为当我没有在模板中嵌套控制器时,我不能在模板中使用
{{group.content}
。这是因为您使用
ng repeat=“group in groups”
来迭代组数组。因此,对于开始
{{group}}
仅在
ng repeat
中可用。它的内容然后通过转换传递到
accordion
,因此不能作为
{{content}
{group.content}
使用。本转换教程应该对您有所帮助:另一种方法是将
{{{group.content}
绑定到accordion指令范围内的模型,比如
{{mycontent}
。然后在手风琴模板中,您可以使用
{{{mycontent}}
访问原始内容。但是你不需要这样做,因为你在
标签中输入的任何代码都会传递到手风琴琴琴体。你有这个替代方案的示例代码吗?你会将它添加到你的答案中吗(因为它也回答了问题)谢谢。你似乎解决了我的问题,但没有回答问题。因为当我没有在模板中嵌套控制器时,我不能在模板中使用
{{group.content}
。这是因为您使用
ng repeat=“group in groups”
来迭代组数组。因此,对于开始
{{group}}
仅在
ng repeat
中可用。它的内容然后通过转换传递到
accordion
,因此不能作为
{{content}
{group.content}
使用。本转换教程应该对您有所帮助:另一种方法是将
{{{group.content}
绑定到accordion指令范围内的模型,比如
{{mycontent}
。然后在手风琴模板中,您可以使用
{{{mycontent}}
访问原始内容。但是你不需要这样做,因为你在
标签中输入的任何代码都会传递到手风琴琴琴体。你有这个替代方案的示例代码吗?你会将它添加到你的答案中吗(因为它也回答了这个问题)