带有隔离范围变量的编译指令未定义

Compiled directive with isolate scope variable coming up undefined

我需要编译一个指令,因为它需要一个从数据库返回的 ID,但似乎无法让它持续到指令。

$scope.orderInfo = {
  orderId: 'lkdfj232jh'
};
$scope.compile = function() {
   var html = $compile('<apps orderId="orderInfo.orderId"></apps>')($scope);
   $('#apps').append(html);
};

return {
  templateUrl: 'apps.html',
  restrict: 'E',
  scope: {
    orderId: '='
  },
  controller: function($scope) {
    console.log($scope.orderId);
  }
}

orderId 在指令中始终未定义。

Plunker

属性名称应该是 order-id(连字符)而不是 orderId

$scope.compile = function() {
   var html = $compile('<apps order-id="orderInfo.orderId"></apps>')($scope);
   $('#apps').append(html);
};

Working Plnkr