Javascript Angularjs指令内容未链接到隔离范围

Javascript Angularjs指令内容未链接到隔离范围,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我使用的是指令,我的目标是将该值绑定到我的孙子组件并更新父元素,但这段代码不会冒泡到根 var myApp=angular.module('myApp',[]); //指令('myDirective',function(){}); //工厂('myService',function(){}); myApp.controller('root',函数($scope){ vm=这个; vm.value='Joe Doe'; }); myApp.directive('child',function()

我使用的是指令,我的目标是将该值绑定到我的孙子组件并更新父元素,但这段代码不会冒泡到根

var myApp=angular.module('myApp',[]);
//指令('myDirective',function(){});
//工厂('myService',function(){});
myApp.controller('root',函数($scope){
vm=这个;
vm.value='Joe Doe';
});
myApp.directive('child',function(){
返回{
限制:“A”,
范围:{
paramOne:'=paramOne'
},
链接:功能(范围、elm、属性){
log('Child value:',scope.paramOne);
}
}
});
myApp.directive('sunder',function(){
返回{
限制:“A”,
范围:{
paramTwo:'=paramTwo'
},
链接:功能(范围、elm、属性){
log('孙子值:',scope.paramtoo);
}
}
});

字段值:{{vm.Value}

子参数值:{{paramOne}} Granchild参数值:{{paramTwo}}

指令需要转移内容并将其附加到链接函数中的元素:

    transclude: true,
    link: function (scope, elem, attrs, ctrl, transcludeFn) {
      transcludeFn(scope, function(clone) {
        elem.append(clone);
      });
var myApp=angular.module('myApp',[]);
//指令('myDirective',function(){});
//工厂('myService',function(){});
myApp.controller('root',函数($scope){
vm=这个;
vm.value='Joe Doe';
});
myApp.directive('child',function(){
返回{
限制:“A”,
范围:{
paramOne:'=paramOne'
},
是的,
链接:函数(作用域、元素、属性、ctrl、transcludeFn){
transcludeFn(范围、功能(克隆){
元素追加(克隆);
});
log('Child value:',scope.paramOne);
}
}
});
myApp.directive('sunder',function(){
返回{
限制:“A”,
范围:{
paramTwo:'=paramTwo'
},
是的,
链接:函数(作用域、元素、属性、ctrl、transcludeFn){
transcludeFn(范围、功能(克隆){
元素追加(克隆);
});
log('孙子值:',scope.paramtoo);
}
}
});

字段值:{{vm.Value}

子参数值:{{paramOne}} Granchild参数值:{{paramTwo}}

谢谢@georgeawg,这个转置功能总是必要的吗?我用一个级别绑定(root到child)做了一些测试,结果很好。。无论如何,再次谢谢你!你错了,一级绑定效果很好。如果将绑定名称设置为与属性名称不同的名称,您将看到它不起作用。通常,元素内的内容绑定到父范围。指令,如
ng if
ng include
ng repeat
等,将其内容转义。