オブジェクトのプロパティの値をチェックし、比較する文字列のデータをチェックしたいと思います。
<div ng-if="results.dataType === 'textTable'">
This text belongs in a table.
</div>
これまでのところ、すべてのdivは本文にテキストとともに表示され、2つのdivだけがそれを表示します。
Ng-ifステートメントと文字列比較に何か問題がありますか?
これがデモです 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>
これがあなたの問題を解決することを願っています
angular 2の場合、ifステートメントは*ngIf
ではなくng-if
。
これで問題が解決することを願っています。
<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>