通过 attrs.val 或 attrs.$set(attname, val)访问属性

access to attribute through attrs.val or attrs.$set(attname, val)

本文关键字:val attrs 属性 attname 访问 set 通过      更新时间:2023-09-26

从指令(或其他地方)设置属性的两种方式有什么区别

(环境):

angular.module('module', [])
  .directive('directive', [ function () {
    return {
      restrict: 'A',
      scope:    true,
      link: function (scope, element, attrs) {
      ...

之间:

     attrs.skipWatchValue = true;

     attrs.$set( 'skip-watch-value', true );

(看来第二个现在根本行不通了...

两种语法之间存在一个区别,即编写attrs.$set( 'skip-watch-value', true );也会修改 DOM 元素(请参阅通过检查元素)并设置值,而attrs.skipWatchValue = true;不会修改 DOM 元素。