我想檢查一個對象的屬性值,並想檢查要比較的字符串數據。檢查ng-if語句中的字符串值
<div ng-if="results.dataType === 'textTable'">
This text belongs in a table.
</div>
到目前爲止,所有的div都出現在文本中,只有兩個div應該顯示它。
我的ng-if語句和字符串比較有什麼不對嗎?
我想檢查一個對象的屬性值,並想檢查要比較的字符串數據。檢查ng-if語句中的字符串值
<div ng-if="results.dataType === 'textTable'">
This text belongs in a table.
</div>
到目前爲止,所有的div都出現在文本中,只有兩個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>
希望這將解決您的問題
什麼是錯的,你是如何修復它的? – 2017-05-25 07:54:05
我試過這種語法,但在視圖中我會得到'{{results.dataType}}'即使它不等於'textTable' - 我在angular2中做這個 – bluePearl
我真正的在角度2中,if語句是:*ngIf
而不是ng-if
。
這不是一個「答案」,更多的是「刪除你的問題的理由」 – 2017-05-25 16:35:45
@torazaburo不用擔心會這麼做 - 與angularjs工作一段時間沒有意識到錯誤 – 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>
如果這是AngularJS(有時稱爲「Angular 1」),那麼正確的標籤是「angularjs」。 – 2017-05-25 07:53:44
我從你的代碼中看到它的方式是你有一個對象,它的值與字符串進行比較。因此,假設你正在包裝ng-if在ng-for中,爲了生成多個div,你應該爲每個新創建的div創建一個具有特定結果值的數組,以實際工作該ng-if – sTx
@torazaburo這是角度2 – bluePearl