小编Jul*_*jan的帖子

AngularJS为null的null值

我找不到使用AngularJS 设置null值的优雅方法<select>.

HTML:

<select ng-model="obj.selected">
  <option value=null>Unknown</option>
  <option value="1">Yes</option>
  <option value="0">No</option>
</select>

{{obj}}
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.obj ={"selected":null};
Run Code Online (Sandbox Code Playgroud)

加载页面时,选择第一个选项,这是好的,输出是{"selected":null}.在切换到另一个选项后重新选择第一个选项时,输出变为{"selected":"null"}(带引号),这不是我所期望的.

运行示例:http: //plnkr.co/edit/WuJrBBGuHGqbKq6yL4La

我知道标记<option value=null>不正确.我也试过,<option value="">但它对应一个空的String而不是null:因此,第一个选项没有被选中,另一个选项在默认选择第一个选择后消失.

任何的想法 ?

html javascript html5 angularjs

35
推荐指数
2
解决办法
6万
查看次数

模板中string.length的Angular JS问题

我对AngularJS(版本1.2.6)有一个问题.

由于某些原因我无法理解我无法访问length存储在其中的字符串变量的属性$scope.

在模板中:

String '{{myObject.someVariable}}' has length '{{myObject.someVariable.length}}'.
Run Code Online (Sandbox Code Playgroud)

在控制器中:

$scope.myObject = {} ; 

//asynchronuous loading of myObject 
SomeService.loadObject(function(result)){
    $scope.myObject = result ; 
    console.log("Content: '%s', length:'%i'",$scope.myObject.someVariable,$scope.myObject.someVariable.length);
    $scope.$apply();
});
Run Code Online (Sandbox Code Playgroud)

结果是:

String 'aaaa' has length ''.
Run Code Online (Sandbox Code Playgroud)

在控制台中我正确地看到了 Content:'aaaa', length:'4'

这很令人讨厌,因为我根据字符串大小显示(或不显示)模板的某些部分.

更新

$scope.myObject.someVariable是一个字符串.我在回调函数中添加了两个监视器的断点:

  • $scope.myObject.someVariable :"aaaa"
  • typeof($scope.myObject.someVariable) :"字符串"

javascript angularjs

14
推荐指数
1
解决办法
4万
查看次数

标签 统计

angularjs ×2

javascript ×2

html ×1

html5 ×1