我有这个小提琴
angular.module('mainApp', [])
.directive('list', function factory() {
return {
restrict: 'E',
scope: {
size: '=',
listWidth: '@'
},
replace: true,
template: '<ul class="syn-list"><li ng-repeat="item in items">{{item}}</li></ul>',
link: function(scope, element, attrs) {
scope.items = ['item 1', 'item 2', 'item 3'];
$('#p1').html(scope.size + ' - ' + attrs.size + ' :: ' + scope.listWidth + ' - ' + attrs.listWidth);
setTimeout(function() {
$('#p2').html(scope.size + ' - ' + attrs.size + ' :: ' + scope.listWidth + ' - ' + attrs.listWidth);
}, 0);
}
};
});
为什么 scope.size 设置为预期值而 scope.listWidth 返回未定义?
为什么在 0 秒 scope.listWidth 的 setTimeout 调用中设置为预期值?