Angular 属性中的指令无法访问范围属性

Angular scope property not accessible from directive in attribute

我有一个这样的控制器:

var exampleController = function($scope, $stateParams){
    $scope.myVariable = $stateParams.id;
    console.log($scope.myVariable);
}

和指令如:

var exampleDirective = function(){
    return {
        restrict: 'E',
        scope : {
            myVariable: '='
        },
        templateUrl: "myTemplate.html",
        link: function($scope){
               console.log($scope.myVariable);
        });
     };
}

在我的 html 中:

<my-example myVariable="myVariable"></my-example>

鉴于 url 中的 id 是 21,我得到了这个:

21
undefiend

有人知道为什么我不能传递任何 $stateParams 值以至于指令看不到它吗?

我试过传递一个静态值,但也没有用。 在控制器中以这种方式尝试:

$scope.myVariable = 26;

您忘记了 Angular 属性名称约定:

<my-example my-variable="myVariable"></my-example>