带有transclude的指令,数据绑定在templateUrl中不起作用

时间:2015-06-09 08:27:00

标签: angularjs angularjs-directive angularjs-scope directive

我有一个transclude的指令:true。但是,当我使用模板:“”时,数据绑定有效,但当我使用 templateUrl 时,数据绑定无效:“”

下面你可以找到我的指令。 rsCarousel.html模板包含与模板“”属性相同的代码。

使用模板属性时,我在屏幕上获取vm.carouselId,但在使用templateUrl属性时却没有。

为什么会这样?

THX,

(function () {

    'use strict';

    angular.module('skynetDashboard').directive('rsCarouseli', carouseli);

    function carouseli(){

        var directive = {

            restrict:"EA",
            scope:{
                carouselData:"=",
                carouselId:"@",
                carouselOptions:"@"
            },
            transclude:true,
            templateUrl:"js/directive/rsCarousel.html",
            //template:"<strong>ID: {{vm.carouselId}}</strong><ul ng-transclude></ul>",
            bindToController:true,
            controllerAs:"vm",
            link:link,
            controller:controller

        }

        return directive

        function link(scope){

            console.log(scope.vm)

        }

        controller.$inject = [""]

        function controller(){



        }


    }

})();

1 个答案:

答案 0 :(得分:1)

奇怪的是,范围绑定应该在两种情况下都有效。

确保您的模板文件未被浏览器缓存(并使用旧版本)。