编译带有隔离作用域变量的指令出现未定义错误。

3

我需要编译一个指令,因为它需要一个来自数据库的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 - Vinay K
1个回答

2

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

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

Working Plnkr


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接