2014-05-02 8 views

Odpowiedz

8
<div>{{ user.userName || 'alternate text' }}</div> 
<br> 

<html> 
 

 
<head> 
 
    <script data-require="[email protected]*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"> 
 
    </script> 
 
    <link rel="stylesheet" href="style.css" /> 
 

 
</head> 
 

 
<body ng-controller="test"> 
 

 
    <span>{{user.name || "alt text"}}</span> 
 
    <script> 
 
    var app = angular.module("app", []); 
 

 
    app.controller("test", function($scope) {}); 
 

 
    angular.bootstrap(document, ["app"]); 
 
    </script> 
 
</body> 
 

 
</html>

0
<div ng-if="user.userName">{{user.userName}}</div> 
<div ng-if="!user.userName">Please login"</div> 
+0

Proszę dodać wyjaśnienie do swojej odpowiedzi. – Pedram

5

Można to zrobić na kilka sposobów:

<div>{{ methodForTextDisplay(user.userName) }}</div> 

Lub:

<div>{{user.userName || "some default text"}}</div> 

Lub:

<div ng-show="user.userName" >{{ user.userName }}</div> 
<div ng-show="!user.userName" >Default text</div> 
+0

Twoje pierwsze rozwiązanie jest sprzeczne z chęcią "zakodowania logiki klienta, a nie kontrolera", twoje drugie rozwiązanie jest moim duplikatem. – mccainz

+0

Nie sądzę, że klient jest właściwym terminem, zamiast tego użyłbym szablonu lub widoku. – haimlit

+0

@mccainz zależy od Twoich wymagań i ilości opcji do wyświetlenia pierwszego wariantu nadal przydatne. Drugi wariant opublikowałem, ponieważ nie widziałem Twojego komentarza. Wysłałeś swój wariant tuż przede mną. – Lugaru

Powiązane problemy