相关疑难解决方法(0)

表达式的角度懒惰一次性绑定

自1.3.0-beta.10版本以来,AngularJS有一个新功能:"懒惰的一次性绑定".

简单的表达式可以作为前缀::,告诉角度在首次评估表达式后停止观看.给出的常见示例如下:

<div>{{::user.name}}</div>
Run Code Online (Sandbox Code Playgroud)

是否有类似以下表达式的语法?

<div ng-if="user.isSomething && user.isSomethingElse"></div>
<div ng-class="{classNameFoo: user.isSomething}"></div>
Run Code Online (Sandbox Code Playgroud)

javascript binding lazy-evaluation angularjs

93
推荐指数
1
解决办法
2万
查看次数

Angular Directive正在加载多次

这是Angular中的错误还是我遗漏了一些东西:

从指令的模板调用函数表明该函数执行了11次!用templateurl,22次!! 用字符串模板.

angular.module('testDirective', [])
        .directive('myDirective', function() {
          return {
            scope:{},
            template: '{{increment()}} {{count}}',
            controller: function($scope) {

              $scope.count = 0;

              $scope.increment = function() {
                $scope.count += 1;
              };
            }
          };
        })
Run Code Online (Sandbox Code Playgroud)

HTML:

<body ng-app="testDirective">
    <my-directive></my-directive>
</body>
Run Code Online (Sandbox Code Playgroud)

结果:

22
Run Code Online (Sandbox Code Playgroud)

这是一个包含template和templateUrl方法的Plunker.

例如,当在转发器中涉及方法调用时,这是一个非常严重的问题,这最终会在相同的方法上调用相同的方法.

有人可以对此有所了解吗?

directive angularjs

1
推荐指数
1
解决办法
2239
查看次数

简化使用ngFor的ngClass条件

我有一个数组,有5个字符串值兴奋,快乐,中立,悲伤,愤怒

我使用ngClass和ngFor来简化html,所以我不必为每个值重复5x.

问题是ngClass语句非常笨重,我找不到合适的方法来简化它.有什么方法可以缩短它吗?

<mat-icon *ngFor="let smiley of smileys" svgIcon="emote_{{smiley}}" 
                [ngClass]="{ happy: smiley === 'happy', sad:  smiley === 'sad', neutral:  smiley === 'neutral', angry:  smiley === 'angry', excited:  smiley === 'excited'}" (click)="selected(smiley, $event)"></mat-icon>
Run Code Online (Sandbox Code Playgroud)

先感谢您!

typescript ng-class ngfor angular

1
推荐指数
1
解决办法
45
查看次数