0

假设我有一些文本,例如:

The data is ready. Here it is: {{something}}

something如果不是,我只想渲染那条线undefined。我怎样才能做到这一点?

如果它有帮助,这是更广泛背景下的那条线:

<html>
<body>
<div>
<div class='container-fluid' ng-controller="TypeaheadCtrl">

<input type="text" ng-model="selected" 
typeahead="name_and_uid as item.name_and_uid for item in items | 
filter:{name_and_uid: $viewValue} | limitTo:16" 
typeahead-on-select='onSelect($item, $model, $label)' class="form-control">

The data is ready. Here it is: {{name_and_uid}}

</div>
</body>
</html>

where{{name_and_uid}}仅在选择完成后定义。

目前,我"The data is ready. Here it is:"在做出选择之前得到。我只希望在我输入并做出选择后呈现它。

4

2 回答 2

2

您可以在您的范围内定义:

   $scope.isDefined = function(v) {
            return angular.isDefined(v);
        };

接着

<div ng-show="isDefined(name_and_uid)">
    The data is ready. Here it is: {{name_and_uid}}
</div>
于 2014-12-11T09:44:44.280 回答
0

假设输入ng-model长度最初为 0,您可以使用ng-show仅在$scope.selected大于零时渲染该线。

<div ng-show="selected.length > 0">
    <span>The data is ready. Here it is: {{name_and_uid}}</span>
</div>
于 2014-12-11T05:55:45.573 回答