Javascript AngularJS控制器变量未传递给子指令

Javascript AngularJS控制器变量未传递给子指令,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我有以下代码。我了解到指令可以从其父作用域继承对象和变量。我有一个带有child指令的控制器,但我似乎无法在指令中获取我的$scope.title 为什么会这样 var mod=angular.module('myApp',[]); mod.controller('myControl',controlFunc).directive('myDirec',direcFunc); 函数controlFunc($scope){ $scope.title=“约翰·史密斯”; } 函数direcFunc(

我有以下代码。我了解到指令可以从其父作用域继承对象和变量。我有一个带有child指令的控制器,但我似乎无法在指令中获取我的
$scope.title

为什么会这样

var mod=angular.module('myApp',[]);
mod.controller('myControl',controlFunc).directive('myDirec',direcFunc);
函数controlFunc($scope){
$scope.title=“约翰·史密斯”;
}
函数direcFunc(){
返回{
限制:'E',
模板:“”+$scope.title+“”
};
}

您试图访问指令中的作用域的方式,必须有get console错误
$scope未定义
,因为指令中不能直接使用
$scope

不能使用
$scope
变量直接访问HTML上的变量。您应该使用Angle指令进行绑定,比如
ngbind
/
{{}}
(插值指令)在这种情况下会有所帮助

您的指令模板应该如下所示

function direcFunc(){
  return {
    restrict: 'E',
    scope: false, //by default false, means will not create a new scope
    //template: '<h1>{{title}}</h1>', //alternative
    template: '<h1 ng-bind="title"></h1>'
  };
}

你希望在这辆车里看到什么?我看到了“John Smith”。所以,如果我专门使用
ng bind
,指令只继承控制器内容?还有什么方法可以让指令立即继承控制器的所有内容吗?我已经使用了
链接
功能来
控制台。记录
指令的范围,它与控制器的范围相同,但是如果它的范围相同,为什么我不能从控制器使用
$scope.title
ng bind
用于在DOM上打印控制器范围绑定。。一定要看最新的。谢谢:)@GEspinha您不能注入对指令函数的依赖性。。你所做的在语法上是错误的。。你需要通过阅读这个@GEspinha来真正理清你的基础知识如果你通过这个方法理清了,那么你就可以接受答案了谢谢:)
function direcFunc(){
  return {
    restrict: 'E',
    scope: false, //by default false, means will not create a new scope
    //template: '<h1>{{title}}</h1>', //alternative
    template: '<h1 ng-bind="title"></h1>'
  };
}
function direcFunc(){
  return {
    restrict: 'E',
    scope: false, //by default false, means will not create a new scope
    //template: '<h1>{{title}}</h1>', //alternative
    template: '<h1 ng-bind="title"></h1>',
    link: function(scope, element, attrs){
        console.log("Below scope will be same as that of controller");
        console.log(scope);
    }
  };
}