programing

Angular의 재사용 가능한 구성 요소JS

goodsources 2023. 3. 27. 21:13
반응형

Angular의 재사용 가능한 구성 요소JS

처음입니다.AngularJS아직까지는 마음에 들어요.문서를 찾을 수 없는 한 가지 문제는 다음과 같습니다.

HTML을 반복하는 페이지와 하위 카테고리가 있는 카테고리 페이지는 모두 동일한 HTML 템플릿을 가지고 있습니다.현재 제가 하고 있는 것은 하나의 컨트롤러로 모든 Json을 한 번에 로드하는 것인데, 속도가 다소 느립니다.서브뷰(ASP 부분 등)로 나누고 싶습니다.NET MVC) 단, 각 뷰는 초기화할 때 서비스에 대한 자체 호출을 수행합니다.카테고리명도 파라미터로 전달하고 싶습니다.

가장 효율적인 방법은 무엇입니까?Directives도 사용해 보았습니다만, 각 콜의 범위를 따로 유지할 수 없습니다.더 자세한 정보가 필요하시면 말씀하세요.

나는 마침내 이것을 해결할 수 있었다.설명서를 읽고 놀면 꽤 쉽다.

지시사항은 다음과 같습니다.

angular.module('components', []).directive('category', function () {
return {
    restrict: 'E',
    scope: {},
    templateUrl: '/Scripts/app/partials/CategoryComponent.html',
    controller: function ($scope, $http, $attrs) {
        $http({
            url: "api/FeaturedProducts/" + $attrs.catName,
            method: "get"
        }).success(function (data, status, headers, config) {
            $scope.Cat = data;
        }).error(function (data, status, headers, config) {
            $scope.data = data;
            $scope.status = status;
        });

    }
}
});

이것은 여러 번 호출되었지만 다른 매개 변수를 가진 동일한 구성 요소를 가진 기본 페이지입니다.

    <ul class="unstyled">
    <li>
    <category cat-name="Ultrabooks"></category>
    </li>
    <li>
    <category cat-name="Tablets"></category>
    </li>
    <li>
    <category cat-name="Laptops"></category>
    </li>
    <li>
    <category cat-name="Digital SLR Cameras"></category>
    </li>

카테고리 컴포넌트.html

<a href="#/Categories/{{Cat.CategoryName}}">
    <h4>{{Cat.CategoryName}}</h4>
</a>
<div ng-switch on="status">
    <div ng-switch-when="500" class="alert alert-error">
        {{status}}
        {{data}}
    </div>
    <div ng-switch-default>
        <ul class="unstyled columns">
            <li class="pin" ng-repeat="p in Cat.Products">
                <a href="#/reviews/{{p.UPC}}">
                    <h5>{{p.ProductName}}</h5>
                    <img src="{{p.ImageUrl}}">
                </a>
            </li>
        </ul>
    </div>
</div>

언급URL : https://stackoverflow.com/questions/13619264/reusable-components-in-angularjs

반응형