지시문에서 "{{aaa}} / {{bbb}}"값의 속성을 가져오고 실행하는 방법은 무엇입니까?

프리 윈드

각도로 사용자 지정 지시문을 정의하고 싶습니다. 일부 사용자 지정 속성을 기반으로 경로를 계산할 수 있습니다.

HTML 코드 :

<div ng-controller="Ctrl">
  <input ng-model="ratio" />
  <hr/>
  Image:
  <span retina-src="{{server}}/{{originWidth}}x{{originHeight}}{{uri}}" 
        origin-width="111" origin-height="222" />
</div>

Angularjs 코드 :

angular.module('myapp', []).
controller('Ctrl', ['$scope',
    function Ctrl($scope) {
        $scope.ratio = 1;
        $scope.server = "http://some.com";
        $scope.uri = "/main.jpg";
        $scope.name = "abc";
    }
]).
directive('retinaSrc', ['$compile',
    function($compile) {
        return {
            restrict: 'A',
            scope: {
                originWidth: '@originWidth',
                originHeight: '@originHeight'
            },
            compile: function compile(tElement, tAttrs, transclude) {
                var realPath = tAttrs.retinaSrc;
                return {
                    post: function postLink(scope, iElement, iAttrs, controller) {
                        scope.$parent.$watch("ratio", function(o, v) {
                          scope.originWidth = scope.originWidth * scope.ratio;
                          scope.originHeight = scope.originHeight * scope.ratio;

                            console.log("realPath: " + realPath);

                            // !!! there is something wrong here
                            var value = $compile(realPath)(scope);
                            console.log(value);

                            iElement.text(value);
                        });

                    }
                };


            }
        };
    }
]);

다음과 retina-src같이 텍스트를 볼 수 있습니다 .

{{server}}/{{originWidth}}x{{originHeight}}{{uri}}

그러나 나는 그것을 평가하는 방법을 모른다. $compile내 코드에서 시도했지만 작동하지 않고 대신 몇 가지 오류를보고합니다.

Error: [jqLite:nosel] http://errors.angularjs.org/1.2.14/jqLite/nosel
    at Error (native)

나는 또한 시도 scope.$eval(realPath)했지만 다른 오류를보고합니다.


라이브 데모 : http://jsbin.com/mufokegayuqa/3/edit

픽셀 비트

곱슬 표현식을 바꾸려면 $ interpolate 서비스가 필요합니다. 예 : {{originWidth}}.

예:

var url = $interpolate(iAttrs.retinaSrc)(scope.$parent);

참고 : 지시문에 격리 된 범위가 있으므로 scope. $ parent가 필요합니다. $ interpolate 서비스를 디렉티브 함수에 삽입하는 것을 잊지 마십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PHP로 "aaa"만 알고있을 때 "string1 string2 aaa-bbb string3"에서 "aaa-bbb"부분 문자열을 얻는 방법은 무엇입니까?

분류에서Dev

perl에서 [aaa-bbb.com]과 같은 정규식 패턴과 문자열을 일치시키는 방법

분류에서Dev

유사한 이름을 식별합니다. 예 : "AAA BBB CCC"와 "BBB AAA CCC"는 같은 사람입니다.

분류에서Dev

Cypress에서 요소의 속성 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

패키지의 모든 속성 파일을 가져오고 Java를 사용하여 키 값을 업데이트하는 방법은 무엇입니까?

분류에서Dev

Excel의 열에서 고유 한 / 고유 한 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

@IBinspectable 속성을 설정하지 않고 Storyboard의 UIView에서 실시간으로 변경을 수행하는 방법은 무엇입니까?

분류에서Dev

Ruby에서 개별 값을 지정하지 않고 해시의 모든 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

SQL Server의 특정 열에서 고유 한 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

다른 활동에서 문자열 값을 전달하고 가져 오는 방법은 무엇입니까?

분류에서Dev

DataTable의 열에서 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

LINQ의 각 값을 포함하는 목록에서 행을 가져 오는 방법은 무엇입니까?

분류에서Dev

PHP OOP에서 속성을 가져오고 설정하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Iterator를 사용하지 않고 Hashmap에서 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

세 목록의 각 목록에 고유 한 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

radDateTimePicker 날짜 값을 가져오고 형식을 지정하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

템플릿에서 여러 값을 가져오고 테이블의 여러 행을 업데이트하는 방법은 무엇입니까? 장고

분류에서Dev

rmarkdown 청크에서 파이썬 파일을 가져오고 실행하는 방법은 무엇입니까?

분류에서Dev

Heroku에서 gunicorn을 실행하고 whitenoise를 가져 오는 방법은 무엇입니까?

분류에서Dev

NAnt의 NuGet 서버에서 제 3 자 종속성을 가져 오는 방법은 무엇입니까?

분류에서Dev

사용자 정의 htmlhelper에서 "class"의 기본 속성 값을 추가하는 방법은 무엇입니까?

분류에서Dev

html <textarea>에서 PHP 페이지로 값을 가져오고 보내는 방법은 무엇입니까?

분류에서Dev

양식의 그리드에서 RealEdit에서 실제 값을 가져오고 설정하는 방법은 무엇입니까?

분류에서Dev

Magical Record : UITableViewCell의 UILabel에 NSDate 엔티티 속성을 가져오고 표시하는 방법은 무엇입니까?

분류에서Dev

SQL에서 행 값을 열로 가져 오는 방법은 무엇입니까?

분류에서Dev

이 시나리오에서 MySQL의 마지막 행을 가져 오는 방법은 무엇입니까?

분류에서Dev

익명 컨트롤의 FONT 속성을 가져오고 사용하는 방법은 무엇입니까?

분류에서Dev

지도에서 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

Angular-사용자 지정 지시문에서 속성 값을 사용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    PHP로 "aaa"만 알고있을 때 "string1 string2 aaa-bbb string3"에서 "aaa-bbb"부분 문자열을 얻는 방법은 무엇입니까?

  2. 2

    perl에서 [aaa-bbb.com]과 같은 정규식 패턴과 문자열을 일치시키는 방법

  3. 3

    유사한 이름을 식별합니다. 예 : "AAA BBB CCC"와 "BBB AAA CCC"는 같은 사람입니다.

  4. 4

    Cypress에서 요소의 속성 값을 가져 오는 방법은 무엇입니까?

  5. 5

    패키지의 모든 속성 파일을 가져오고 Java를 사용하여 키 값을 업데이트하는 방법은 무엇입니까?

  6. 6

    Excel의 열에서 고유 한 / 고유 한 값을 가져 오는 방법은 무엇입니까?

  7. 7

    @IBinspectable 속성을 설정하지 않고 Storyboard의 UIView에서 실시간으로 변경을 수행하는 방법은 무엇입니까?

  8. 8

    Ruby에서 개별 값을 지정하지 않고 해시의 모든 값을 가져 오는 방법은 무엇입니까?

  9. 9

    SQL Server의 특정 열에서 고유 한 값을 가져 오는 방법은 무엇입니까?

  10. 10

    다른 활동에서 문자열 값을 전달하고 가져 오는 방법은 무엇입니까?

  11. 11

    DataTable의 열에서 값을 가져 오는 방법은 무엇입니까?

  12. 12

    LINQ의 각 값을 포함하는 목록에서 행을 가져 오는 방법은 무엇입니까?

  13. 13

    PHP OOP에서 속성을 가져오고 설정하는 가장 좋은 방법은 무엇입니까?

  14. 14

    Iterator를 사용하지 않고 Hashmap에서 값을 가져 오는 방법은 무엇입니까?

  15. 15

    세 목록의 각 목록에 고유 한 값을 가져 오는 방법은 무엇입니까?

  16. 16

    radDateTimePicker 날짜 값을 가져오고 형식을 지정하는 가장 좋은 방법은 무엇입니까?

  17. 17

    템플릿에서 여러 값을 가져오고 테이블의 여러 행을 업데이트하는 방법은 무엇입니까? 장고

  18. 18

    rmarkdown 청크에서 파이썬 파일을 가져오고 실행하는 방법은 무엇입니까?

  19. 19

    Heroku에서 gunicorn을 실행하고 whitenoise를 가져 오는 방법은 무엇입니까?

  20. 20

    NAnt의 NuGet 서버에서 제 3 자 종속성을 가져 오는 방법은 무엇입니까?

  21. 21

    사용자 정의 htmlhelper에서 "class"의 기본 속성 값을 추가하는 방법은 무엇입니까?

  22. 22

    html <textarea>에서 PHP 페이지로 값을 가져오고 보내는 방법은 무엇입니까?

  23. 23

    양식의 그리드에서 RealEdit에서 실제 값을 가져오고 설정하는 방법은 무엇입니까?

  24. 24

    Magical Record : UITableViewCell의 UILabel에 NSDate 엔티티 속성을 가져오고 표시하는 방법은 무엇입니까?

  25. 25

    SQL에서 행 값을 열로 가져 오는 방법은 무엇입니까?

  26. 26

    이 시나리오에서 MySQL의 마지막 행을 가져 오는 방법은 무엇입니까?

  27. 27

    익명 컨트롤의 FONT 속성을 가져오고 사용하는 방법은 무엇입니까?

  28. 28

    지도에서 값을 가져 오는 방법은 무엇입니까?

  29. 29

    Angular-사용자 지정 지시문에서 속성 값을 사용하는 방법은 무엇입니까?

뜨겁다태그

보관