2013-11-25 3 views
0

아주 간단한 코드를 사용하여 사용자 텍스트 입력을 모델에 바인딩합니다. 텍스트 상자에 사용자 이름을 입력하라는 메시지가 표시됩니다. &은 입력시 hello "username"이라고 말합니다. 그러나 사용자가 이름을 입력 할 때만 Hello가 나타나길 원합니다. 누구나 저를 도울 수 있습니까? 현재 Hello는 기본적으로 제공됩니다.모델로 각도 Js 바인딩 텍스트 입력

UI 페이지

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script> 
<script type="text/javascript" src="../js/prac_controller.js"></script> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>prac_one</title> 
</head> 
<body ng-app> 

<div ng-controller="pracOne"> 
Enter the name<br> 
<input type="text" ng-model="message.text"/> 
<p>Hello, {{message.text}}</p> 
</div> 
</body> 
</html> 

컨트롤러

function pracOne($scope) 
{ 
$scope.message={text:""}; 
} 

답변

1
<p>{{message.text ? 'Hello, ' + message.text : message.text}}</p> 

또는

<p>{{message.text && 'Hello, '+message.text || message.text}}</p> 

업데이트 : 조건부 요소를 표시하려는 경우가 ngShow를 사용할 수 있습니다

<p><span ng-show="message.text != ''">Hello, </span>{{message.text}}</p> 
+0

답장을 보내 주셔서 감사합니다. 왜 && 및 || 사용된다; 제가 참조 할 수있는 링크가 있습니다. message.text는 사용자가 입력 한 내용을 표시 한 다음 && do? – underdog

+0

@ShivangSarawagi 답변을 업데이트했습니다. 여기를보세요 : http://stackoverflow.com/questions/12008580/a-ternary-in-angular-templates-angularjs – AlwaysALearner

+0

DOM 조작을 위해 jQuery를 angularJS와 함께 사용할 수 있습니까? 삼항 연산자 대신 jquery hide, show 메서드를 사용 하시겠습니까? – underdog