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

标签 angularjs angularjs-directive angularjs-scope angularjs-compile

我需要编译一个指令,因为它需要一个从数据库返回的 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

关于angularjs - 带有隔离范围变量的编译指令未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373190/

相关文章:

javascript - 如何清除或停止angularjs中的timeInterval?

javascript - 我可以在 .on ('keyup' 上放置一个计时器来减少更新次数吗?

javascript - 在 ng-repeat 中选择子项时如何选择父项复选框

angularjs - 如何使用 angularjs 检测浏览器?

javascript - 指令绑定(bind)中的值是正确的,但它没有返回 true

angularjs - $emit 事件不适用于 ng-if

javascript - ng-repeat 无法解析阿拉伯语对象

javascript - Angular2 - 有条件创建的输入字段的表单验证

angularjs - 是否可以设置 ng-view 来替换 : true?

javascript - Angular js Controller 不工作