1

我有一个带有角矩的页面。在页面渲染角力矩工作。使用

<span am-time-ago="message.time"></span>

但是当我附加新的html ..它不工作

   var date = '<span am-time-ago=\"message.time\"></span>';
   angular.element('#here').append(date);

我错过了什么吗?请帮忙...

谢谢, 仓井

4

1 回答 1

0

手动附加的 HTML 必须绑定到$scope.

为此,您注入并使用该$compile服务。

// Pass element or HTML string to `$compile` to get a link function
var linkFn = $compile('<span am-time-ago="message.time"></span>');

// Pass `$scope` to the link function to get an element bound with it
var element = linkFn($scope);

// Append the element
angular.element('#here').append(element);

经常这样写:

var element = $compile('<span am-time-ago="message.time"></span>')($scope);
angular.element('#here').append(element);

请注意,如果您必须像这样手动添加 HTML 并希望遵循 Angular 的最佳实践,则应该从指令中完成。

于 2014-12-04T20:42:22.273 回答