AngularJS:$ compile无效

时间:2015-11-23 05:46:29

标签: javascript angularjs

在以下代码中,$ compile不起作用。 我有一个项目,我将这个项目添加到范围,以便我可以编译它并获得一个HTML。

    $http({
            method: 'GET',
            url : url

        }).success(function(response) {
            // var data = response.data;
            $scope.item = preItem ;
            var e = $compile('<div>{{item.name}}</div>')($scope);

        });
    }

在那之后,我把所有事情都做成了非常静态和事件之后,这没有用。

 $http({
            method: 'GET',
            url : url

        }).success(function(response) {

            $scope.tosenddata = 'testdata';
            var e = $compile('<div>{{tosenddata}}</div>')($scope);

        });
    }

即使在此之后结果也一样!

我在控制器内执行此操作。

2 个答案:

答案 0 :(得分:0)

在这种情况下,$ compile正在运行,如果你控制“e”,它将显示angular的div元素与ng-scope绑定。

现在“e”只是一个角度div元素,您需要将其插入DOM以查看HTML或控制台e [0]。

 $scope.tosenddata = 'testdata';
 var e = $compile('<div>{{tosenddata}}</div>')($scope);
 console.log(e[0]);  

在控制台中,您会看到<div class="ng-scope ng-binding">testdata</div>

请参阅此工作fiddle

中的控制台

由于

答案 1 :(得分:0)

它可能无法正常工作的一个原因是它没有达到$ http成功回调。 你应该同时使用错误&amp; $ http。

的成功
 $http({
          method: 'GET',
          url: '/someUrl'
       }).then(function successCallback(response) {

       }, function errorCallback(response) {

      });    

继续工作,请参见fiddle link此处