web-dev-qa-db-ja.com

ng-ifステートメントの文字列値をチェックする

オブジェクトのプロパティの値をチェックし、比較する文字列のデータをチェックしたいと思います。

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

これまでのところ、すべてのdivは本文にテキストとともに表示され、2つのdivだけがそれを表示します。

Ng-ifステートメントと文字列比較に何か問題がありますか?

3
bluePearl

これがデモです 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>

これがあなたの問題を解決することを願っています

4
Jayant Patil

angular 2の場合、ifステートメントは*ngIfではなくng-if

1
bluePearl

これで問題が解決することを願っています。

<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>
0
raviook