2016-04-28 5 views
0

В настоящее время я разрабатываю приложение с использованием ионного (1.3)/углового (1.5). Это мой первый раз, используя угловые, но я развивался с ember.js в течение последних двух или трех лет.Условные обозначения в угловых шаблонах

Я немного смущен, как я могу условно отображать материал в шаблонах: в уголек, я бы

<div class="col-xs-12"> 
    {{#if condition}} 
    some template.. 
    {{else}} 
    something else 
    {{/if}} 
</div> 

Но в угловатый, мне кажется, что вы должны сделать:

<div class="col-xs-12" ng-if="condition"> 
    some template.. 
</div> 
<div class="col-xs-12" ng-if="!condition> 
    something else 
</div> 

Который мне кажется действительно громоздким и на самом деле не передает намерения. Есть ли другой (лучший) способ отображения материала условно в шаблонах?

Большое спасибо за ваше время!

+0

http://stackoverflow.com/questions/15810278/if-else-statement-in-angularjs-templates –

+0

спасибо, не нашел ссылку при поиске. Даже если бы я это сделал, я бы надеялся, что через три года после ответа будет добавлено что-то более чистое ... – ksol

+0

тройной оператор должен быть хорошей практикой .... в зависимости от размера шаблона – Vanojx1

ответ

-1

попробовать это, здесь работает fiddle

<div ng-controller="MyCtrl"> 
<div class="col-xs-12" ng-show="condition"> 
    some template.. 
</div> 
<div class="col-xs-12" ng-show="!condition"> 
    something else 
</div> 
</div> 

контроллер, попробуйте использовать изменения $scope.condition=false

var myApp = angular.module('myApp',[]); 
    function MyCtrl($scope) { 
    $scope.condition = true; 
    //$scope.condition = false; 
} 
+0

это точно так же, как и то, чего я пытаюсь избежать, ожидать вместо ng - если вы используете ng-show – ksol

+0

Я думаю 'ng-show' лучше для вашего условного шаблона. Поскольку 'ng-if' требует выражения или условия, для более [читайте это] (http://stackoverflow.com/questions/21869283/when-to-favor-ng-if-vs-ng-show-ng-hide) , если вы все еще хотите использовать 'ng-if', тогда проверьте версию углового. потому что 'ng-if' вводится в' version 1.1.5'. [читать] (http://stackoverflow.com/questions/27342106/why-is-my-ng-if-not-working-its-not-hiding-the-div) –

0

Существует еще один способ для достижения этой цели, как показано в коде ниже: -

<div ng-switch="myVar"> 
    <div ng-switch-when="condition1"> 
    some tempelate.... 
    </div> 
    <div ng-switch-when="condition2"> 
    some tempelate.... 
    </div> 
    <div ng-switch-when="condition3"> 
    some tempelate.... 
    </div> 
    <div ng-switch-default> 
    some fallback template ... 
    </div> 
</div> 
Смежные вопросы