简体   繁体   English

将元素内的HTML DOM作为字符串传递给AngularJS控制器

[英]Passing Html DOM inside an element as an string to AngularJS controller

I wanted to grab the Html DOM inside an element as an string to angular controller. 我想在元素内获取Html DOM作为角度控制器的字符串。 I didn't find good resource online. 我在网上找不到很好的资源。 I have following Html Code: 我有以下HTML代码:

 <div class="form-group ng-controller="straightRunningBeltsCtrl"">
         <button class="btn btn-success btn-lg" ng-click="post()">Get Service Factor</button>

           <div id="pop-up"><h1>My content here!!</h1></div>
      </div>

And I have following JS code 而且我有以下JS代码

angular.module('straightRunningBelts', [ ])
.controller('straightRunningBeltsCtrl', straightRunningBeltsCtrl)

function straightRunningBeltsCtrl($stateParams, $scope, $http,  $sce){
 $scope.post= function () {
 var template=$sce.trustAsHtml(angular.element(document.getElementById('pop-up')));//Results an error( $sce.trustAsHtml needs string input)
    }

Variable template needs to get value from DOM. 可变模板需要从DOM获取价值。 Right now, angular.element(document.getElementById('pop-up') returns object. I wanted to do sometime like JQuery Does by using html() function here . Any help or reference to it is welcomed. 眼下, angular.element(document.getElementById('pop-up')返回对象,我想有时做到像jQuery不会使用html()函数在这里 。任何帮助或引用它受到欢迎。

To retrieve the HTML inside your DOM element, you can use innerHTML . 要检索DOM元素中的HTML,可以使用innerHTML In your case it would be 在你的情况下

document.getElementById('pop-up').innerHTML

Working Plunkr 工作朋克

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM