Je voudrais vérifier la valeur de la propriété d'un objet et je voudrais vérifier les données de chaîne à comparer.
<div ng-if="results.dataType === 'textTable'">
This text belongs in a table.
</div>
Jusqu'à présent, tous les divs apparaissent avec le texte dans le corps où deux divs seulement devraient l'afficher.
Y at-il quelque chose de mal avec ma déclaration ng-if et la comparaison de chaîne?
Voici la démo Jsfiddle
Code 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>
J'espère que cela résoudra votre problème
J'ai compris que dans l'instruction 2, l'instruction if est: *ngIf
et non pas ng-if
.
J'espère que cela résoudra votre problème.
<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>