使用Directive通过AngularJS使用指令和数据绑定来注入HTML

时间:2016-01-15 17:13:33

标签: javascript angularjs

我有一个用ng-repeat填充的列表。然后,我有一个指令,根据内容类型字段格式化内容。我想在注入的HTML上添加指令。这怎么可能?以下是我的代码。 if语句中的第二个语句不起作用(使用ng-bind)。

angular.module('mobileDashboardApp')
  .directive('detailFormat', function () {
    return {
      link: function postLink(scope, element, attrs) {
          var entry = scope.entry;
          if(entry.type === 'action') {
              element.append('<button>' + entry.value + '</button>');
          } else if (entry.type === 'event') {
              element.append('<button ng-bind="entry.value"></button>');
          } else if(entry.type === 'comment') {
              element.append('<strong>Note:</strong> ' + entry.value);
          }

      }
    };
  });

1 个答案:

答案 0 :(得分:0)

为什么不在HTML中使用标记呢?一般来说,在使用像Angular和Ember这样的框架时自己操纵DOM是一个糟糕的主意,因为它们可能会践踏你的所有变化,并对渲染的内容感到困惑。

您可以使用一些强大的模板结构来执行此操作,例如ng-if。

{{1}}

希望这有用。