javascript – 如何使angularJS $watch检测风格的变化?

前端之家收集整理的这篇文章主要介绍了javascript – 如何使angularJS $watch检测风格的变化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个包含所有样式控件的富文本框.

当我在其中输入新文本时 – 它会保存.

当我对内容(文本)进行任何更改以及一些样式(如颜色突出显示和粗体文本)时,它会保存更改的文本和样式.

但是,当我只是在没有任何内容更改的情况下进行样式更改时 – 它不会保存这些样式更改.

我使用$watch来比较新值和旧值.

如何使其适用于风格变化?

最佳答案
  1. angular.module("app",[]).directive('spyStyle',[function () {
  2. return {
  3. link: function (scope,element,attrs) {
  4. scope.$watch(function () {
  5. return element.css(attrs['spyAttribute']);
  6. },styleChangedCallBack,true);
  7. function styleChangedCallBack(newValue,oldValue) {
  8. if (newValue !== oldValue) {
  9. // do something interesting here
  10. }
  11. }
  12. }
  13. };
  14. }]);

在您的HTML中:

如果您想在指令外执行自定义函数

在您的指令代码中进行此更改:

  1. angular.module("app",oldValue) {
  2. if (newValue !== oldValue) {
  3. // do something interesting here
  4. // invoking callback function:
  5. scope[attrs['spyStyle']](newValue);
  6. }
  7. }
  8. }
  9. };
  10. }]);

猜你在找的jQuery相关文章