我需要编译一个指令,因为它需要一个从DB返回的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总是在指令内部未定义。
答案 0 :(得分:2)
属性名称应为order-id
(带连字符)而不是orderId
$scope.compile = function() {
var html = $compile('<apps order-id="orderInfo.orderId"></apps>')($scope);
$('#apps').append(html);
};