javascript - 按范围将指令插入到另一个指令中

标签 javascript angularjs twitter-bootstrap angularjs-directive

我有一个指令是日期选择器,另一个指令是 Bootstrap 面板。

我需要配置面板指令以显示自定义标题和自定义内容,并且内容需要是日期选择器指令或另一个指令。

我正在尝试这样做,但不起作用:

html:

panel(title="Date", content='date-picker(ng-model="date")')

面板指令 html:

.col-md-12(style="padding: 0")
   .panel.panel-default
     .panel-heading
      h1.panel-title {{ title }}
    .panel-body
      {{content}}

面板指令js:

.directive("panel", function() {
    return {
       restrict: "E",
       templateUrl: "panel.html",
       link: function(scope, element, attrs, $eval) {
        scope.title = attrs.title;
        scope.content = eval(attrs.content);
       }
     };
  })

更新: 现在我有另一个问题:

我有一个在 View 上带有切换组件的指令。 切换组件的配置非常简单:

input(type="checkbox" checked data-toggle="toggle")

该指令工作正常,但如果该指令加载到另一个指令(嵌入)中,则切换组件将不再工作。 :(

你们能帮帮我吗?非常感谢。

最佳答案

您应该使用指令的 transinclude 选项,它可以让您轻松包装其他内容。

html:在面板元素中添加日期选择器 html

panel(title="Date")
  date-picker(ng-model="date")

面板指令 html:将 ng-transclude 添加到 .panel-body

.col-md-12(style="padding: 0")
   .panel.panel-default
     .panel-heading
      h1.panel-title {{ title }}
    .panel-body(ng-transclude)

面板指令 js:将 transinclude 设置为 true。

.directive("panel", function() {
    return {
       restrict: "E",
       templateUrl: "panel.html",
       transclude: true,
       link: function(scope, element, attrs) {
        scope.title = attrs.title;
       }
     };
  })

关于javascript - 按范围将指令插入到另一个指令中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266027/

相关文章:

javascript - Bootstrap 下拉选项卡不起作用

javascript - 页面滚动和切换后文本消失

javascript - 如何在html中使用绑定(bind)函数到 "this"?风格指南 AngularJS

javascript - ng-class 在一个 ng-class 指令中具有条件和函数

javascript - angularjs ng-include 和 angularjs 自定义指令不想一起工作

JAVASCRIPT/BOOTSTRAP-如何根据第一次选择的选项自动选择另一个选择的选项?

css - Bootstrap mix-ins 和 Web Essentials 问题

javascript - NodeJS 路由问题

javascript - 如何明确导入但保留前缀语法?

javascript - 如何防止光标回车?