- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 angular1.x 指令,并收到此错误:
angular.js:14700 Error: [$compile:nonassign] Expression 'undefined' in attribute 'showPageCount' used with directive 'ngPage' is non-assignable!
看来我没有在指令中签署该属性。我怎样才能让它发挥作用?
ng-page.js:
angular.module('ngPage', [])
.directive('ngPage', function () {
return {
restrict: 'E',
transclude: true,
replace: true,
scope: {
pageNo: '=',
pageSize: '=',
totalCount: '=',
pageChange: "&",
showPageCount: '='
},
templateUrl: './ngPageTemplate.html',
link: function (scope, element, attrs) {
scope.showPageCount = scope.showPageCount ? scope.showPageCount : 5;
scope.pageCount = Math.ceil(scope.totalCount / scope.pageSize);
scope.hasPre = scope.pageNo > 1;
scope.preNo = scope.hasPre ? scope.pageNo - 1 : scope.pageNo;
scope.hasNext = scope.pageNo < scope.pageCount;
scope.nextNo = scope.hasNext ? scope.pageNo + 1 : scope.pageNo;
scope.goPage = function (pageNo) {
if (scope.pageNo !== pageNo) {
scope.pageNo = pageNo;
scope.pageChange();
}
};
scope.getPageList = function () {
var list = [];
if (scope.pageCount <= scope.showPageCount) {
for (var i = 1; i < scope.pageCount + 1; i++) {
list.push(i);
}
} else {
var startNo = scope.pageNo - scope.showPageCount / 2;
var endNo = scope.pageNo + scope.showPageCount / 2;
if (startNo < 1) {
//前几页
startNo = 1;
for (var i = 0; i < scope.showPageCount; i++) {
list.push(startNo++);
}
} else if (endNo > scope.pageCount) {
//后几页
endNo = angular.copy(scope.pageCount);
for (var i = scope.showPageCount; i >= 0; i--) {
list.unshift(endNo--);
}
} else {
//中间页
startNo = Math.ceil(startNo);
for (var i = 0; i < scope.showPageCount; i++) {
list.push(startNo++);
}
}
}
return list;
};
scope.pageList = scope.getPageList();
}
};
});
最佳答案
您将无法在指令 link
函数内的指令范围内使用 showPageCount
参数。如果您想在链接函数中使用它,则必须将 ng-model-options 中的值传递为
<input type="text" ng-model="yourModel"
ng-model-options='{ debounce: 600, showpagecount: scopecountvalue }'
ng-page/>
并使用内部指令链接函数作为。
.directive('ngPage', function () {
return {
require: 'ngModel',
restrict: 'AE',
link: function (scope, element, attr, ctrl) {
function inputValue(val) {
var pageCount = ctrl.$options.showpagecount;
}
ctrl.$parsers.push(inputValue);
}
};
})
现在可以在链接函数内访问该值。希望这会对您有所帮助。
关于javascript - angularjs指令错误:[nonassign],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47567763/
我尝试使用 angular1.x 指令,并收到此错误: angular.js:14700 Error: [$compile:nonassign] Expression 'undefined' in a
我从我编写的自定义指令中收到此错误: Error: [$compile:nonassign] http://errors.angularjs.org/1.2.16/$compile/nonassign
我开始学习AngularJS了,这让我很惊讶,一开始连四行代码都不能正常工作,我一点头绪都没有 Your name is {{name}} 在文本框中输入内容时,我的表情没有变化。 它
尝试根据同一行中的另一个值显示来自 gridcollection 的列值。 用户可以在包含带有值的网格的模式中选择/更改值。当模式关闭时,值将被传回。那时我想为“也称为”设置一个值: html: A
在我的 JavaScript 文件中: var app=angular.module("isolateScope",[]); app.controller("attrScope",["$scope",
我正在使用 Angular Bootstrap UI 分页指令的相当简单的实现,但我不断收到一个我无法弄清楚的错误。以下是相关片段: {{todo}} 以下是 Control
我创建了一个过滤器来计算 ng-repeat 内部输入值的总和,并且正在 ng-repeat 外部访问该过滤器,收到错误为 :Error: ngModel:nonassign Non-Assignab
我正在用 angularjs 编写一个指令并得到上面提到的错误。我正在使用一本书中的代码。 .directive('myFacebook', [function(){ return { lin
当我尝试在指令体内转换日期时,出现错误: Error: [$compile:nonassign] Expression 'undefined' in attribute [ATTRIBUTENAME]
请帮我解决这个错误。我做错了什么? 我有这个带有自定义过滤器的输入 | sumPlanByKpi:kpi filterModule.filter('sumPlanByKpi', ['$filter',
我是一名优秀的程序员,十分优秀!