我有一个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(){
}
}
})();
答案 0 :(得分:1)
奇怪的是,范围绑定应该在两种情况下都有效。
确保您的模板文件未被浏览器缓存(并使用旧版本)。