0

抱歉,如果我复制了现有帖子,但我在该主题上搜索 SO,但找不到我的案例的描述。

我有一个包含内部指令(幻灯片)的自定义指令(轮播) Carousel 指令接收范围,但我没有设法通过(或制作)幻灯片指令来理解范围。

如果我采用外部内部指令,幻灯片会看到并理解范围。但是,如果我将幻灯片包含在旋转木马内,它们就会松开它,并且什么也得不到。

有人知道我做错了什么吗?

# Carousel Directive
define ['app'], (app) ->
    app.directive 'carousel', ->
        return {} =
        restrict: 'E'
        templateUrl: window.templateDir + 'carousel.html'
        replace: true
        scope:
            photo: '='
            leftSwipeAction: '&'
            rightSwipeAction: '&'
            clickAction: '&'
        link: (scope, element, attrs) ->
            #....

# Slides Directive
define ['app'], (app) ->
    app.directive 'preview', ->
        return {} =
            restrict: 'E'
            templateUrl: window.templateDir + 'preview.html'
            replace: true
            scope:
                photo: '='
                leftSwipeAction: '&'
                rightSwipeAction: '&'
                clickAction: '&'
            link: (scope, element, attrs) ->
                element.bind 'error', ->
                    element[0].src = scope.photo.download()
                element.bind 'dragstart', (e) ->
                    e.preventDefault()
4

1 回答 1

0

我刚刚发现,通过这样定义我的范围,我将其限制为指令范围,仅限于指令,并且范围停止传递给任何内部指令子级。

我删除了范围配置,现在所有指令都可以访问它。甚至是嵌套的。

于 2013-11-06T16:28:37.733 回答