【发布时间】:2015-07-15 06:18:06
【问题描述】:
我有 html 内容 应该由 ng-bind-html 指令输出,并且在我想对此内容进行一些操作(例如 DOM 操作、jQuery 插件等)。
stackoverflow 为我提供such solution:
<div ng-app="myApp" ng-controller="myCtrl">
<div ng-bind="sometext" my-directive>before</div>
</div>
所以要创建具有更高优先级的自定义指令并在里面观察:
angular.module('myApp').directive('myDirective', function() {
return {
priority: 10,
link: function(scope,element,attrs) {
scope.$watch(attrs.ngBind, function(newvalue) {
console.log("element ",element.text());
});
}
};
});
还有Demo
但就我不打算更改此内容而言,我不想使用 $watch。可以不用$watch吗?
【问题讨论】:
-
这对我来说没有任何意义。您正在将 HTML 存储在您想要一些 3rd 方插件操作的模型中?这里感觉有些不对劲,似乎与 Angular 的目标背道而驰。
-
如何设置
ng-bind-html的值?通过 ajax 还是使用一些动作? -
@Claies,我们将 HTML 存储在数据库中,所以是的 - 在模型中,通过 ajax(是的 @Pankaj)
-
老实说,将 HTML 存储在数据库中的做法毫无意义。
-
为什么会这样?我有在 WYSIWYG 编辑器中准备的内容,可以在那里粘贴你想要的任何内容(如图像、视频)。
标签: angularjs angularjs-directive ng-bind-html ng-bind