2016-03-10 4 views
3

Можно ли отображать html-коды внутри выражения angularjs? Что-то вроде этого кода:HTML-код внутри выражения angularjs

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
    </head> 
    <body ng-app="myApp"> 
     {{ 
      1+2 === 3 ? 
      '<span>Hello World!</span>' 
       : 
      "HI" 
     }} 
    </body> 
    <script> 
    var app = angular.module('myApp', []); 
    </script> 
</html> 
+0

Care предоставить код? Документация, похоже, не отвечает четко и точно на мой вопрос –

+0

Отлично, два ответа предлагают использовать другое решение, а один комментарий от dirkk говорит, что это легко и дает нам подсказку. В конце концов никто не дает ответа, для чего люди сюда приезжают. – marczoid

ответ

2

Я думаю, что, безусловно, лучшее решение для этого с помощью ng-if. Имея эти огромные угловые выражения с HTML внутри поражает цель, на мой взгляд. Что бы я сделал, это примерно так:

<body ng-app="myApp"> 
    <span ng-if="1 + 2 === 3">Hello World!</span> 
    <p ng-if="1 + 2 !== 3">HI</p> 
</body> 

Это более читаемо для меня.

+0

О, хорошо, мне действительно нужно использовать этот метод. Я надеялся, что смогу использовать нечто похожее на условные теги шаблона Django. –

+0

Вы также можете использовать 'ngBindHtml' https://docs.angularjs.org/api/ng/directive/ngBindHtml , но это решение кажется намного приятнее, если вы спросите меня. –

+0

Да absoulutely –

1

Expression используются для то, чтобы быть разобраны, но для требуемого состояния вы можете просто использовать ng-if как:

<body ng-app="myApp"> 
     <span ng-if="1+2 === 3">Hello World!</span> 
     <span ng-if="1+2 !== 3">HI</span> 
</body> 
+0

О, кажется, мне действительно нужно использовать этот метод. Я надеялся, что смогу использовать нечто похожее на условные теги шаблона Django –

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