更改内容并将其发回

时间:2015-05-27 11:35:54

标签: javascript angularjs

我正在尝试将内容放入自定义指令中 - 更改它并将其发回(我已经在SO上看到了一些问题,但只是为了替换)。我有:

HTML

<glossary categoryID="199">Hello and welcome to my site</glossary>

JS

.directive('glossary', [ function () {

    return {
        // I need to get the current content here first I think before setting template? Also the attributes on the custom dir?

        template: "<strong>Welcome</strong>",
        transclude: true,
        link: function (scope, element, attrs, ctrl, transclude) {
            transclude(function (clone) {
                element.replace(clone);
            });
        }
    };

}]);

1 个答案:

答案 0 :(得分:1)

我不建议对此进行翻译。

转换意味着:&#34;我会把你的东西放进我的东西&#34;

你的目标是:&#34;我想添加你的东西&#34;

您可以单独留下标记并将指令更改为:

.directive('glossary', [
  function() {
    var replaceTemplate = '<strong>Welcome</strong>';
    return {
      link: function(scope, element, attrs, ctrl, transclude) {
        element.html(element.html().replace('welcome', replaceTemplate))
      }
    };
  }
]);

正在使用 PLNKR