3

Я хочу связать строку с областью видимости var, которая получит свое значение путем ввода пользователем во входном поле внутри представления. Чтобы строка, связанная с значением var var области, должна отображаться в другом div в представлении.Как связать строку с областью видимости var в представлении?

Это должно быть что-то вроде этого:

<body ng-controller="MainCtrl"> 
Name: <input ng-model="userInput" placeholder="Enter your input..."/><br> 
<div>{{ "Hello" + userInput}}</div> 

Но проблема в том, что слово «Hello» отображает уже до того, как пользовательский ввод сделан. Я хочу отобразить его вместе со значением области var, когда пользователь вводит ее.

ответ

2

Можно использовать множество различных подходов ... ng-if или использовать тройное выражение в двух из них:

<div ng-if="userInput">{{ "Hello" + userInput}}</div> 

Или

<div>{{userInput ? "Hello" + userInput :''}}</div> 
0

Добавить свой собственный filter сказать ifEmpty как в ниже:

angular.module('app').filter('ifEmpty', function() { 
    return function(input, defaultValue) { 
     if (angular.isUndefined(input) || input === null || input === '') { 
      return defaultValue; 
     } 

     return "Hello "+input; 
    } 
}); 

, а затем использовать его в качестве

<div>{{ userInput | ifEmpty:''}}</div> 
1

Попробуйте это

Name: <input ng-model="userInput" placeholder="Enter your input..."/><br> 
<div ng-show="!!userInput">{{ "Hello" + userInput}}</div> 
0

Вы можете использовать ng-if на входе пользователя.

<p ng-if="userInput">Hello {{userInput}}</p> 

 Смежные вопросы

  • Нет связанных вопросов^_^