Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在使用append()方法添加的html元素中显示来自控制器的值?_Javascript_Jquery_Html_Angularjs_Dom - Fatal编程技术网

Javascript 如何在使用append()方法添加的html元素中显示来自控制器的值?

Javascript 如何在使用append()方法添加的html元素中显示来自控制器的值?,javascript,jquery,html,angularjs,dom,Javascript,Jquery,Html,Angularjs,Dom,我将感谢任何帮助。我的问题:我无法在视图中显示$scope.info中的值。我没有直接访问html的权限,所以我只能通过js更改DOM。 我创建了新元素,并使用append()方法将其添加到DOM中 $scope.info = { clicks: 15862, spent: '$124', created: '04/08/2017', author: 'John Kovalenko', name: 'Advertise US' }; var info = document.

我将感谢任何帮助。我的问题:我无法在视图中显示
$scope.info
中的值。我没有直接访问html的权限,所以我只能通过js更改DOM。 我创建了新元素,并使用
append()
方法将其添加到DOM中

$scope.info = {
  clicks: 15862,
  spent: '$124',
  created: '04/08/2017',
  author: 'John Kovalenko',
  name: 'Advertise US'
};

var info = document.createElement('div');
info = angular.element(info).attr({
  'ng-bind': 'info',
  'class': 'statistic-info'
});
angular.element(infoContainer).append(info[0]);
我在这里创建了一个示例。


我做错了什么?谢谢

当您手动注入任何使用指令的内容时,您必须使用
$compile

  var info = angular.element('<div>').attr({
    'ng-bind': 'info.author',
    'class': 'statistic-info'
  });

  info = $compile(info)($scope);

  angular.element(infoContainer).append(info);
var info=angular.element(“”).attr({
'ng bind':'info.author',
“类”:“统计信息”
});
info=$compile(info)($scope);
元素(infoContainer).append(info);
请确保在任何使用它的地方都注入
$compile


手动注入任何使用指令的内容时,必须使用
$compile

  var info = angular.element('<div>').attr({
    'ng-bind': 'info.author',
    'class': 'statistic-info'
  });

  info = $compile(info)($scope);

  angular.element(infoContainer).append(info);
var info=angular.element(“”).attr({
'ng bind':'info.author',
“类”:“统计信息”
});
info=$compile(info)($scope);
元素(infoContainer).append(info);
请确保在任何使用它的地方都注入
$compile


最简单的答案是在添加数据之前将数据添加到HTML内容中。因为您有一个对象,所以我在下面的代码段中提供了它的一个属性

正在发生的是页面加载,并且摘要周期已经完成。您添加的只是纯文本,因此不需要插入。我提供的这个方法不会提供双向绑定。如果需要,您应该使用指令

var infoTwo = '<div><p>' + $scope.info.clicks + '</p></div>';
var infoTwo=''+$scope.info.clicks+'

';

这是最好的答案。最简单的答案是在添加数据之前将数据添加到HTML内容中。因为您有一个对象,所以我在下面的代码段中提供了它的一个属性

正在发生的是页面加载,并且摘要周期已经完成。您添加的只是纯文本,因此不需要插入。我提供的这个方法不会提供双向绑定。如果需要,您应该使用指令

var infoTwo = '<div><p>' + $scope.info.clicks + '</p></div>';
var infoTwo=''+$scope.info.clicks+'

';

这是最好的答案。

非常感谢!你救了我一天!多谢各位!你救了我一天!