Я пытаюсь получить доступ к моей области видимости переменным в link
, но они кажутся неопределеннымУгловые переменная директива сферы неопределенные
/** @ngInject */
function tablePagination() {
return {
restrict: 'E',
template: require('./tablePagination.html'),
scope: {
currentPage: '=',
totalPages: '=',
totalCount: '=',
perPage: '='
},
link: function (scope) {
console.log(scope.currentPage, scope) // scope.currentPage is undefined
}
}
}
// controller for authlogin
module.exports = tablePagination
Я также попытался с помощью @
, а не =
и изменил связывание с использованием {{}}
, но его до сих пор не определенно. Я мог бы использовать $observe
, но я хочу получить значения для нескольких атрибутов сразу, чтобы выполнить некоторые вычисления. Каков наилучший способ сделать это?
HTML код
<table-pagination
current-page="$ctrl.tableMeta.currentPage"
total-count="$ctrl.tableMeta.totalCount"
total-pages="$ctrl.tableMeta.totalPages"
per-page="$ctrl.tableMeta.perPage"></table-pagination>
UPDATE: Интересно, если его, потому что директива не получает обновленные значения от $ctrl.tableMeta
, который приходит из API/Async
РЕШЕНИЕ!: О, я обнаружил, моя ошибка была мне нужно использовать $watch
в противном случае он получает старое значение, которое по умолчанию не определено, так как его не установлено асинхронной по API еще
scope.$watch('currentPage',() => {
scope.start = (scope.currentPage - 1) * scope.perPage + 1
scope.end = Math.min(scope.currentPage * scope.perPage, scope.totalCount)
})
предоставить ваш HTML, когда вы использовали вашу директиву. – Curiousdev
'currentPage' Нужно передать информацию из HTML! –
можете ли вы поделиться своим столомPagination.html? –