Javascript 如何使用angularJS动态加载页面?

Javascript 如何使用angularJS动态加载页面?,javascript,html,angularjs,Javascript,Html,Angularjs,我对angularjs完全是个新手。我正在寻找一个使用ajax调用页面的清晰示例 第一个问题是: 如何发出ajax请求? 第二个问题是: 我不想在所有链接中使用ng click。我无法将ng click attr添加到所有元素,因为它们是动态链接。如何通过单击#菜单之间的链接调用函数?? 例如: //控制器 var ceoApp=angular.module('ceoApp',[]).config(函数($interpolateProvider){ $interpolateProvider.s

我对angularjs完全是个新手。我正在寻找一个使用ajax调用页面的清晰示例

第一个问题是:

如何发出ajax请求?

第二个问题是:

我不想在所有链接中使用ng click。我无法将ng click attr添加到所有元素,因为它们是动态链接。如何通过单击
#菜单之间的链接调用函数?

例如:

//控制器
var ceoApp=angular.module('ceoApp',[]).config(函数($interpolateProvider){
$interpolateProvider.startSymbol('{[{').endSymbol('}]}');
});
控制器('AjaxLoadCtrl',函数(){})


如果您需要一个公共位置,可以使用ng view和routing动态加载页面,类似于
单页web app
。。您可能会喜欢它:

对于带有
httpget
的ajax请求,您可以使用:

编辑 根据您的评论,您希望使用链接中的href,
然后需要使用自定义属性,如

<a data-href="your_url" href="" ng-click="fun($$event)" >Click</a>
您可以使用$http在angularjs中发出
HTTPGET请求

发出ajax调用 来自angularjs$http

在文档中,您还可以找到一个很好的示例 这显示了如何在控制器内使用$http:

angular.module('httpExample', [])
  .controller('FetchController', ['$scope', '$http', '$templateCache',
    function($scope, $http, $templateCache) {
      $scope.method = 'GET';
      $scope.url = 'http-hello.html';

      $scope.fetch = function() {
        $scope.code = null;
        $scope.response = null;

        $http({method: $scope.method, url: $scope.url, cache: $templateCache}).
          success(function(data, status) {
            $scope.status = status;
            $scope.data = data;
          }).
          error(function(data, status) {
            $scope.data = data || "Request failed";
            $scope.status = status;
        });
      };

      $scope.updateModel = function(method, url) {
        $scope.method = method;
        $scope.url = url;
      };
    }]);
然后,在html中调用fetch()函数:

<button id="fetchbtn" ng-click="fetch()">fetch</button>
fetch

ngRoute模块为angular应用程序提供路由和深度链接服务和指令

angularjs文档中也提供了使用



考虑使用来生成链接。

这就是您需要的,通过使用来路由到页面或动态加载。

。您不这么说吗?我想要一个例子,兄弟。。。如果你知道怎么做,请写一个答案。。。?这是谷歌搜索后的第一个链接:“AngularAjax”。。。此外,这个答案应该会有帮助:。是的,我看到了这个例子,但你没有抓住重点。我有两个问题必须结合在一个例子中。我被它迷住了。正如我所说,我是一个有angularjs的新手。。。所以,兄弟,请多帮点忙。添加带有可点击标志的“点击到”元素:。只需查看第一个链接,我想你想做类似的事情。实际上,我不需要路由器。我的所有链接都有target href。我只需要加载那个url,并用最旧的html替换它。仍然有ng点击。我不想给我所有的链接元素赋予ng click attr。事实上,我认为你应该这样做。因为,您需要一个针对链接标记属性的ajax请求。您可以使用jquery/javascript发出ajax请求,获取html源代码,并替换内容。但是为什么要用角呢?您只是忽略了它的实际目的,即使事情变得简单、不那么复杂,并且不需要手动操作DOM。
angular.module('httpExample', [])
  .controller('FetchController', ['$scope', '$http', '$templateCache',
    function($scope, $http, $templateCache) {
      $scope.method = 'GET';
      $scope.url = 'http-hello.html';

      $scope.fetch = function() {
        $scope.code = null;
        $scope.response = null;

        $http({method: $scope.method, url: $scope.url, cache: $templateCache}).
          success(function(data, status) {
            $scope.status = status;
            $scope.data = data;
          }).
          error(function(data, status) {
            $scope.data = data || "Request failed";
            $scope.status = status;
        });
      };

      $scope.updateModel = function(method, url) {
        $scope.method = method;
        $scope.url = url;
      };
    }]);
<button id="fetchbtn" ng-click="fetch()">fetch</button>