【问题标题】:checking string value in ng-if statement检查 ng-if 语句中的字符串值
【发布时间】:2017-10-25 18:28:37
【问题描述】:

我想检查一个对象的属性值,并想检查要比较的字符串数据。

<div ng-if="results.dataType === 'textTable'"> 
     This text belongs in a table. 
</div>

到目前为止,所有 div 都与正文中的文本一起出现,只有两个 div 应该显示它。

我的 ng-if 语句和字符串比较有什么问题吗?

【问题讨论】:

  • 如果这是 AngularJS(有时称为“Angular 1”),那么正确的标签是“angularjs”。
  • 我从您的代码中看到的方式是,您有一个带有值的对象,您将其与字符串进行比较。因此,假设您将 ng-if 包装在 ng-for 中,以生成多个 div,您应该有一个数组,其中包含特定于每个新创建的 div 的结果值,以实际工作 ng-if
  • @torazaburo 这是角度 2
  • @sTx 是的,我的 ng-if 被包装在 ngFor 中 results 是包含数据的返回项目数组,但我的 if 语句似乎不起作用,但不确定原因。

标签: javascript angularjs angular-ng-if


【解决方案1】:

这里是演示Jsfiddle

JS代码

  var app = angular.module('myApp', []);

  app.controller('ctrl', function($scope) {
    $scope.results = {
      dataType: 'textTable'
    };
    $scope.flag = true;

    // for testing purpose

    $scope.toggle = function() {
      if ($scope.flag) {
        $scope.results = {
          dataType: 'textTable'
        };
        $scope.flag = !$scope.flag;
      } else {
        $scope.results = {
          dataType: 'textTableNot'
        };
        $scope.flag = !$scope.flag;
      }

    }
  });

HTML

  <div ng-app='myApp'>

    <div ng-controller='ctrl'>
      <div ng-if='results.dataType === "textTable"'> This text belongs in a table.</div>
      {{results.dataType}}
      <button ng-click='toggle()'>
        Toggle
      </button>
    </div>
  </div>

希望这能解决您的问题

【讨论】:

  • 我尝试了这种语法,但在视图中我会显示 {{results.dataType}},即使它不等于 textTable - 我在 angular2 中这样做
【解决方案2】:

我意识到在 Angular 2 中,if 语句是:*ngIf 而不是 ng-if

【讨论】:

  • 这不是一个“答案”,而是一个“删除您的问题的原因”。
  • @torazaburo 不用担心会这样做 - 使用 angularjs 一段时间并没有意识到错误
【解决方案3】:

希望这能解决您的问题。

<div>
<input type="hidden" ng-model="myVar" ng-init="myVar = 'stringformat'">
<div ng-if="myVar =='stringformat'">
<h1>Welcome</h1>
<p>Welcome to my home.</p>
</div>
</div>

【讨论】:

    猜你喜欢
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多