Javascript 向ng include(d)div添加html

Javascript 向ng include(d)div添加html,javascript,angularjs,templates,Javascript,Angularjs,Templates,我有以下角度模板: <script type='text/ng-template' id='template1.html'> <h1>hello!</h1> </script> <div ng-include src="'template1.html'"></div> 你好 这很好用 现在,我想将最后一个like改为: <div ng-include src="'template1.html'">

我有以下角度模板:

<script type='text/ng-template' id='template1.html'>
  <h1>hello!</h1>
</script>

<div ng-include src="'template1.html'"></div>

你好
这很好用

现在,我想将最后一个like改为:

<div ng-include src="'template1.html'">
  <h2>Result: {{ 2+2 }}</h2>
</div>

结果:{2+2}
因此div将包含“Hello!4”。但是,div的全部内容似乎都被模板替换了。有什么方法可以实现我想用angularjs做的事情吗


提前感谢。

ng include指令将替换放置的主元素,如果要在现有元素中“包含”另一个模板,则必须将代码更改为:

<div>
  Hello: <ng-include src="'template1.html'"></ng-include>
</div>

你好:

是的,
ngInclude
替换整个元素。 要获得您想要的,我有两种方法:

  • template1.html可以有一个可选的“结果”值:
  • 
    结果:{{Result}}
    你好
    结果:{2+2}
    

  • 创建一个你想做什么就做什么的习惯;大致如下:

    angular.module('ngHtmlInjection',[]) .directive('ngHtmlInjection',function(){ 返回{ 限制:“A”, 是的, 范围:{ myResult:“@ngResult” }, 控制器:功能($scope){ $scope.myResult=$scope.result

      },
      template:
        '<div>' +
          '<h2 ng-if="myResult">{{ result }}</h2>' +
          '<h1>hello!</h1>' +
        '</div>',
      replace: true
    };
    
    },
    模板:
    '' +
    “{{result}}”+
    “你好!”+
    '',
    替换:正确
    };
    
    }))

  • 您的html将如下所示:

    <div ng-html-injection ng-result="{{ 2+2 }}">
    </div>
    

    
    

    <div ng-html-injection ng-result="{{ 2+2 }}">
    </div>