programing

어떻게 하면 Angular JS로 lodash를 작동시킬 수 있을까요?

bestprogram 2023. 3. 28. 22:45

어떻게 하면 Angular JS로 lodash를 작동시킬 수 있을까요?

lodash use를 사용하려고 합니다.ng-repeat다음과 같이 지시합니다.

<div ng-controller="GridController" ng-repeat="n in _.range(5)">
    <div>Hello {{n}}</div>
</div>

존재GridController:

IndexModule.controller('GridController', function () {

this._ = _

})

그러나 이 동작하지 않기 때문에 아무것도 반복되지 않습니다.명령어를 로 변경했을 경우ng-repeat="i in [1,2,3,4,5]"잘 될 거야

lodash 를 통해 이미 포함되어 있습니다.<script><header>를 참조해 주세요.어떻게 하면 될까요?

'_'를 글로벌하게 도입하여 테스트용으로 주입하는 것을 선호합니다.이 질문에 대한 답변을 참조하십시오.내부 컨트롤러 언더스코어 사용

var myapp = angular.module('myApp', [])
  // allow DI for use in controllers, unit tests
  .constant('_', window._)
  // use in views, ng-repeat="x in _.range(3)"
  .run(function ($rootScope) {
     $rootScope._ = window._;
  });

@beret와 @wires의 답변에 몇 가지 설명을 덧붙이고 싶었습니다.그들은 분명히 도와줬고 그것을 이해했지만, 모든 과정을 정돈하는 것은 누군가에게 적합할지도 모른다.이렇게 해서 로다쉬로 각진 환경을 설정하고 요먼과 함께 작업하게 했습니다-각도로 제대로 서빙을 할 수 있습니다.

  • bower install lodash --save(이는 bower에 추가되고 bower json에 save가 추가됩니다.)

  • bower json을 수정하여 angular보다 먼저 lodash load를 갖게 합니다.(이는 gulp inject를 사용하여 수동으로 index.html에 넣지 않으면 angular link보다 먼저 index.html에 넣습니다.)

  • @wires 방향에 따라 새로운 상수를 만듭니다.

'use strict';

angular.module('stackSample')
  // lodash support
  .constant('_', window._);
  • 다른 것과 마찬가지로 각 서비스, 필터 또는 컨트롤러에 주입합니다.
.filter('coffeeFilter', ['_', function(_) {...}]);
  • 각도 html 뷰에 삽입하려면 컨트롤러에 삽입하고 스코프 변수를 할당하기만 하면 됩니다.
.controller('SnesController', function ($scope, _) {
  $scope._ = _;
})

누군가 자신의 사이트를 설정하는 데 도움이 되었으면 합니다.:)

ng-repeat에는 각도 스코프 변수에 액세스할 수 있는 각도 식이 필요합니다.그래서 대신 할당하는 것이_로.this, 에 할당합니다.$scope컨트롤러에 주입하는 객체:

IndexModule.controller('GridController', function ($scope) {
  $scope._ = _;
})

데모

어떤 버전의 Angular를 사용하고 있는지 잘 모르겠습니다.돔의 변수에 액세스하기 위해 'this'를 사용할 때 'Controller as' 구문을 사용해야만 했던 것 같습니다.

다음은 범위를 사용하지 않고 이 문제를 해결하는 방법입니다.http://plnkr.co/edit/9IybWRrBhlgQAOdAc6fs?p=info

 <body ng-app="myApp" ng-controller="GridController as grid">
      <div ng-repeat="n in grid._.range(5)">
      <div>Hello {{n}}</div>
    </div>
  </body>

언급URL : https://stackoverflow.com/questions/23862119/how-to-make-lodash-work-with-angular-js