以下代碼在頁面加載時調用alert()
函數,即使available
變量的值爲null開頭。這是預期的行爲還是我做錯了什麼?ng-if first working on properly call
<div ng-controller="MyCtrl">
<input ng-model='available' type='text' />
<div ng-if='available != null'>
{{call()}}
{{available == null}}
</div>
</div>
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.available = null;
$scope.call = function() {
alert(this.available == null);
};
}
對於我來說,實際的用例是隻有在某個值出現在範圍內時才加載圖片。這是一個僅僅模仿該功能而不涉及處理圖像的代碼。
編輯:這裏是樣本的jsfiddle link。您可以在頁面加載(或後續運行)中看到警告彈出框
編輯2:將角度版本從1.0升級到1.6,但仍面臨圖像問題。更新上面的fiddlejs鏈接,通過查看devleoper工具 - >網絡選項卡可以觀察問題。將有2個http調用單個圖像。 1. {{available}}.jpg
和2. a.jpg
。但只有a.jpg
電話應該已經發生
@dhilt的例子更新角度版本後的工作。但我仍然面對圖像的原始問題。我更新了fiddljs鏈接(http://jsfiddle.net/btwymkmL/2/)。如果您查看開發人員工具中的網絡活動,則無論何時在文本輸入中鍵入內容(如'a'),都會有兩個http調用。一個用於'{{available}}。jpg'和另一個用於'a.jpg'。你知道爲什麼會發生這種情況,還是應該創建一個新的問題? –
我也解決了這個問題,看到更新的答案。 – dhilt