以下代码在页面加载时调用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