当前位置: 首页 > 面试题库 >

如何在ngClass中使用动态值

祁鸿哲
2023-03-14
问题内容

我试图应用与作用域变量相同的类名。

例如:

<div ng-class="{item.name : item.name}">

以便将的值item.name添加到类中。不过,这似乎没有任何作用。有关如何执行此操作的任何建议?

谢谢!

编辑:

这实际上是使用ng-options在select中完成的。例如:

<select ng-options="c.code as c.name for c in countries"></select>

现在,我想应用一个具有以下值的类名: c.code

我发现以下指令似乎有效,但无法对该值进行插值:

angular.module('directives.app').directive('optionsClass', ['$parse', function ($parse) {
  'use strict';

  return {
    require: 'select',
    link: function(scope, elem, attrs, ngSelect) {
      // get the source for the items array that populates the select.
      var optionsSourceStr = attrs.ngOptions.split(' ').pop(),
      // use $parse to get a function from the options-class attribute
      // that you can use to evaluate later.
          getOptionsClass = $parse(attrs.optionsClass);

      scope.$watch(optionsSourceStr, function(items) {
        // when the options source changes loop through its items.
        angular.forEach(items, function(item, index) {
          // evaluate against the item to get a mapping object for
          // for your classes.
          var classes = getOptionsClass(item),
          // also get the option you're going to need. This can be found
          // by looking for the option with the appropriate index in the
          // value attribute.
              option = elem.find('option[value=' + index + ']');

          // now loop through the key/value pairs in the mapping object
          // and apply the classes that evaluated to be truthy.
          angular.forEach(classes, function(add, className) {
            if(add) {
              angular.element(option).addClass(className);
            }
          });
        });
      });
    }
  };

}]);

问题答案:

我使用的是角度1.5.5,但这些解决方案都不适合我。

尽管仅在这里的最后一个示例中显示,但可以一次使用数组和映射语法

<div ng-class="[item.name, {'other-name' : item.condition}]">


 类似资料:
  • 今天,这是一个演示,用于显示来自CSV的数据,而无需在JavaFX 2.0中的tableView上创建自定义类。我称这个TableView为动态TableView,因为表视图自动管理列和行。 在我对tableView的可编辑性的研究中,我们必须有一个自定义类,并将其实现到tableView以显示为这个演示== 但在这种情况下,我不能这样做,因为我们不知道有多少列的例子与csv文件或。dat文件。。

  • 问题内容: 我正在尝试使用Go解析YAML文件。问题在于YAML文件中的密钥可能并不总是相同。这是为了进行API版本控制,以便用户可以定义他们支持的版本。例如V1,V2,V3等。它们不需要按顺序排列,并且可以省略它们不支持的版本,例如V0,V2,V5等。 这是最高层,我还没有从结构内部弄清楚如何做到这一点。 问题答案: 首先,您尝试将根解析为,但其实际类型为。其次,如果要保留该类型结构,则需要一个

  • 问题内容: 我想使用表变量而不是临时表,但是我的主要查询构造是动态的。动态查询用单引号引起来,所以我该如何从@TableVariable中获取数据。我不想删除动态查询,因为稍后会添加一些参数。 例如,以下是错误代码,其中我已将表变量写入动态查询中..... 在这方面帮助我。 提前致谢。 问题答案: 试试这个 :

  • 伙伴。我有一个菜单组件在我的next.jsWeb应用程序。菜单的数据是通过GraphQL动态生成的。我想要菜单组件的服务器端渲染。我尝试使用getStatic Props()在服务器上呈现数据。但是getStatic Props()不能在组件上工作,它只能在页面上工作。 现在,我该如何解决这个问题呢?我不想在每一页的菜单上重复相同的代码,我想重复使用代码或类似的东西。请帮我解决这个问题。提前感谢。

  • 我正在尝试使用 Go 解析 YAML 文件。问题是 YAML 文件中的键可能并不总是相同的。这是为了执行 API 版本控制,以便用户可以定义他们支持的版本。例如 V1、V2、V3 等。它们不需要按顺序排列,可以省略它们不支持的版本,即 V0、V2、V5 等。 我在这里看到一个类似的问题 这是顶层,我还没有完全弄清楚如何从结构内部执行此操作。

  • 问题内容: 如何在MySQL存储过程中构建和使用动态SQL? 问题答案: 我不相信MySQL支持动态sql。您可以执行类似但不同的“准备”语句。 这是一个例子: 准备好的语句通常用于查看给定查询的执行计划。由于它们是使用 execute 命令执行的,并且可以将 sql 分配给变量,因此您可以近似地估计一些与动态sql相同的行为。 这是一个很好的链接: 不要忘记使用最后一行取消分配! 祝好运!