Я новичок в Html/Css/Js, и у меня есть следующая проблема: я хочу создать список определенного компонента. Я уже создал компонентA (работает отлично), и теперь, в компоненте B, я хочу добавить с ng-include определенное количество компонентовA, но, похоже, оно потеряло мое событие ng-click.
Кто-нибудь может мне помочь?
Позднее редактирование:
Это часть компонентаA: HTML:
<div id="container" class="container">
<p id="details" class="details" ng-show="!pressed" ng-click="Expand();">DETAILS</p>
</div>
JS:
'use strict';
angular.module('app', [])
.directive('componentA', [function () {
return {
templateUrl: 'componentA.html',
restrict: 'A',
scope: true,
controller: function ($scope) {
$scope.pressed = false;
$scope.Expand = function() {
if ($scope.pressed === true) {
$scope.pressed = false;
document.getElementById("container").style.width = '550px';
document.getElementById("details").style.webkitAnimation = "fadein 3s";
}
else{
$scope.pressed = true;
document.getElementById("container").style.width="780px";
}
};
}
};
}]);
В ComponentB я пытаюсь добавить некоторые компоненты A, как это:
<div ng-include="'componentA.html'"></div>
<div ng-include="'componentA.html'"></div>
<div ng-include="'componentA.html'"></div>
он показывает компоненты A, уважает все вещи из моего файла css, но ничего из моего js файла.
Вы создали директиву атрибута - поэтому нет смысла использовать ng-include (он просто вставляет шаблон, а не логику).
<div component-a></div>
Во-вторых, плохой практикой является манипулирование DOM через контроллер. Похоже, что в этом случае имеет смысл использовать директиву ngClass в вашем шаблоне вместо изменения стилей в контроллере.