2

在 Angular 中,我可以写下一个:

class="{{ DayTypesClasses[request.typeId] }}"

它将根据表达式值设置 css-class

但我发现ng-bind可以做到这一点,但也可以为这种绑定节省一些时间。

我试过ng-bind在课堂上使用,但它不起作用。

class="ng-bind : 'DayTypesClasses[request.typeId]'"
class="ng-bind = 'DayTypesClasses[request.typeId]'"
class="ng-bind : DayTypesClasses[request.typeId]"
class="ng-bind:{{DayTypesClasses[request.typeId]}}"

我应该如何正确使用ng-bind类属性?

文档链接对ng-bind我没有帮助:(

4

3 回答 3

2

你也可以使用ng-class

<ANY ng-class="expression"> ... </ANY>

或者

<ANY class="ng-class: expression;"> ... </ANY>

例如:

<p ng-class="{strike: deleted, bold: important, 'has-error': error}">Some example</p>
于 2016-04-14T11:14:23.363 回答
1

您所期望的是将$scope变量的值替换为 class 并且您可以使用ng-class. 你只是误解了这个概念。ng-bind是一个指令,您可以以不同的方式使用它,将$scope变量的内容添加到属性值的标记中。

您可以在下面的代码中看到,我已经ng-class以两种方式使用过。更多关于 ng-class

<div ng-app>
  <h2>Todo</h2>
  <div ng-controller="TodoCtrl">

     <span class="ng-class:myClass">Demo text</span>
     <span ng-class="myClass">Demo text</span>
  </div>
</div>

JSFiddle

于 2016-04-14T11:19:02.433 回答
0

这是标准示例,并且正在工作:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example - example-example61-production</title>


  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>



</head>
<body ng-app="bindExample">
  <script>
  angular.module('bindExample', [])
    .controller('ExampleController', ['$scope', function($scope) {
      $scope.name = 'Whirled';
    }]);
</script>
<div ng-controller="ExampleController">
  <label>Enter name: <input type="text" ng-model="name"></label><br>
  Hello <span class="ng-bind: name"></span>!
</div>
</body>
</html>

普朗克

于 2016-04-14T11:10:59.490 回答