Dan*_*iel 2 javascript angularjs
我只是在一个奇怪的"怪癖",我不确定我做错了什么.
这是代码,下面是Plunkr链接:
HTML
<!-- Shows nothing if bar === 'N', BUT shows any other letter. -->
<div ng-if="foo.bar">ng-if: {{ foo.bar }}</div>
<!-- Shows nothing is bar === 'N', BUT shows any other letter. -->
<div ng-show="foo.bar">ng-show: {{ foo.bar }}</div>
<!-- Works in all cases -->
<div ng-hide="!foo.bar">ng-hide: {{ foo.bar }}</div>
<button ng-click="foo.select('B')">Select 'B'</button>
<button ng-click="foo.select('N')">Select 'N'</button>
<button ng-click="foo.reset()">Reset</button>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
angular.module('app', [])
.controller('MainController', function($scope) {
$scope.foo = {
baz: 'foo'
};
$scope.foo.select = function(item) {
$scope.foo.bar = item;
}
$scope.foo.reset = function() {
$scope.foo.bar = '';
}
});
Run Code Online (Sandbox Code Playgroud)
Plunkr:http://plnkr.co/edit/H3Ghk1dCQqQ5PVd30Pdp?p =preview
在这个例子中,为什么当你选择'N'时它没有显示?在我的实际应用程序中,它使用的整个字母表,只有字母'N'不起作用.这对我没有任何意义,在纯JavaScript中,以下内容适用:
var obj = {};
obj.foo = {};
obj.foo.bar = 'N';
!!obj.foo.bar
// => true
Run Code Online (Sandbox Code Playgroud)
我假设ng-if / ng-show显示的内容基于"truthy"的表达?
任何帮助都会令人惊叹,我希望这只是我所做的一个误解!
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |