簡體   English   中英

如何將angularJs用於動態創建的HTML(未加載到DOM)

[英]How to use angularJs for dynamically created HTML(Which is not loaded to DOM)

您好,我是AngularJs的新手。 我通過調用ajax函數從C#中檢索HTML數據。 在這里,我試圖將AngularJs功能用於動態生成的HTML。 但是我看不到任何AngularJs效果。但是AngularJs效果對於靜態HTML來說效果很好。請幫助我。

以下是示例。

C#代碼:

[WebMethod]
public static string DynamicHtml()
{
  StringBuilder sb=new StringBuilder();
  sb.append("    
                       <div ng-app='myApp' ng-controller='myCtrl'>
                           <h1 id='myName' ng-click='changeName()'>
                              {{firstname}}
                           </h1>
                        </div>
           "); 

  return sb.ToString();
}

HTML代碼: myPage.aspx

<html>
  <head>

      <script    src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js">
    </script>
  </head>
  <body>
    <div id="div1">
    </div>
  </body>
</html>

腳本

$(document).ready({

     $.ajax({
          type:'POST',
          content-type:'application/json;charset-4',
          url:'myPage.aspx/DynamicHtml' 
          success:function(data){

               $("#div1").html(data.d);

               ChangeNameFunc();
                 } 
          })


        function ChangeNameFunc()
        {
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function ($scope) {
            $scope.firstname = "John";
            $scope.changeName = function () {
            $scope.firstname = "Nelly";
        }
    });
  }

});

在上面的代碼中,我通過使用ajax調用從c#中檢索html數據並將其綁定到div1 當我嘗試單擊John時,名稱未更改為Nelly。 請注意,在靜態頁面中使用Angular函數時可以使用。

<html>
  <head>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js">
    </script>
  </head>
  <body ng-app='myApp' ng-controller='myCtrl'>
    <div id="div1">
    </div>
  </body>
</html>

請嘗試聲明本身的ng-appng-controller ,讓我知道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM