【问题标题】:angular-moment not working via dom injection角矩不能通过dom注入工作
【发布时间】:2014-12-04 13:38:48
【问题描述】:
我有一个带有角矩的页面。在页面渲染角力矩工作。
使用
<span am-time-ago="message.time"></span>
但是当我追加新的 html.. 它不工作
var date = '<span am-time-ago=\"message.time\"></span>';
angular.element('#here').append(date);
我错过了什么吗?请帮忙...
谢谢,仓井
【问题讨论】:
标签:
javascript
angularjs
momentjs
angular-moment
【解决方案1】:
手动添加的 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 的最佳实践,则应该从指令中完成。