Я использую Angular 1.x.
Вот пример кода на jsfiddle.
Если ctrl.shouldShowDiv2 = false, я не хочу показывать div2, иначе (ctrl.shouldShowDiv2 = true) я хочу активировать box::after. Есть ли способ заставить его работать с ng-style или любой другой директивой?
Этот ответ похоже на то, что я хочу, но я не мог этого понять.
Спасибо.






Что вы можете сделать, так это создать отдельный класс, в котором вы будете использовать селектор ::after. Затем вы переключаете этот класс с помощью ctrl.shouldShowDiv2. Вот пример:
angular.module('app', []);.box {
height: 150px;
width: 200px;
overflow: hidden;
position: relative;
background: tomato;
}
.box-xtra::after {
content: "div2";
width: 100px;
height: 20px;
position: absolute;
top: 10px;
left: -30px;
transform: rotate(-45deg);
background-color: white;
text-align: center;
}<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.7.2/angular.min.js"></script>
<div ng-app = "app">
<div style = "margin-bottom: 10px;">
<label>Show div2 <input type = "checkbox" ng-model = "ctrl.shouldShowDiv2" /></label>
</div>
<div class = "box" ng-class = "{'box-xtra': ctrl.shouldShowDiv2}"></div>
</div>
Привет, Тони. Ваш вопрос в том виде, в каком вы его представили, больше никому не пригодится (особенно, если вы удалите свой jsfiddle, что, вероятно, произойдет). Вместо этого вставьте код и покажите, что вы пробовали. Это позволит людям помочь вам