我是棱角分明的新手.我试图从ng-change of select中调用工厂服务方法'getScoreData',但是无法完成它.请帮忙.
Html代码:
<select ng-model="Score" ng-change="getScoreData(Score)" ng-options="c.name for c in Scores"></select>
Run Code Online (Sandbox Code Playgroud)
Angularjs代码:
var app = angular.module('audiapp', []);
app.controller('audiLayoutCtrl', function ($scope, ScoreDataService) {
ScoreDataService.getScoreData($scope.Score, function (data) {
$scope.ScoreData = data;
});
});
app.factory('ScoreDataService', function ($http) {
return {
getScoreData: function (Score, callback) {
var params = {
questionCode: Score.code
}
return $http({
url: 'Home/GetAvgData',
method: 'GET',
params: params
}).success(callback);
}
};
});
Run Code Online (Sandbox Code Playgroud)
上面是服务工厂方法,它从控制器实例化.我尝试从ng-change of select实例化,但它既没有给出错误也没有被调用.
angularjs angularjs-directive angularjs-service angularjs-factory angularjs-ng-change
嗨我面临角度http post方法的问题.如果我尝试使用angularjs http post发送数据,它会将数据作为查询字符串发送.因为我传递了非常大的数据,它给了我错误:服务器响应状态为414(Request-URI Too Long).
这是我的http post工厂方法:
dataFactory.InsertInAdditionalDataDetailsIdBulk = function (AdditionalDataDetailsIds, AdditionalDataID,
AdditionalDataName, AdditionalDataDate) {
var params = {
AdditionalDataDetailsIds: AdditionalDataDetailsIds,
AdditionalDataID: AdditionalDataID,
AdditionalDataName: AdditionalDataName,
AdditionalDataDate: AdditionalDataDate
}
return $http({
url: '/GroupsManager/InsertInAdditionalDataDetailsIdBulk',
method: 'POST',
params: params
});
};
Run Code Online (Sandbox Code Playgroud)
为什么我的数据即使在使用Post方法后也作为查询字符串参数发送?
我正在制定一个要求,我只想在文本框或数字框(输入类型编号)中使用偶数.最小和最大限制,如4到14,如果我们有数字框,它应该只增加2步.
我尝试使用HTML输入类型编号,最小最大值和步骤属性它工作正常,但我们可以编辑任何数字的文本框,以限制我尝试使用指令,但它不适合我.如果有人能帮我解决这个问题,我将很高兴.
HTML:
<body ng-controller="ctrl">
new : <number-only-input step="2" min="4" max="14" input-value="wks.number" input-name="wks.name" >
</body>
Run Code Online (Sandbox Code Playgroud)
脚本:
var app = angular.module('app', []);
app.controller('ctrl', function($scope){
$scope.name = 'Samir Shah';
$scope.price = -10;
$scope.wks = {number: '', name: 'testing'};
});
app.directive('numberOnlyInput', function () {
return {
restrict: 'EA',
template: '<input type="text" name="{{inputName}}" ng-model="inputValue" />',
scope: {
inputValue: '=',
inputName: '=',
min: '@',
max: '@',
step: '@'
},
link: function (scope) {
scope.$watch('inputValue', function(newValue,oldValue) {
var arr = String(newValue).split("");
if (arr.length === 0) return; …Run Code Online (Sandbox Code Playgroud) 我正在使用@michaelbromley的dir-pagination指令.我想获得当前指令页面上的所有记录.有没有办法做到这一点?
这是链接:dir-pagination,所以我需要records从100到96 的5的集合.有没有快速的方法来做到这一点?
我尝试了几件但没有工作.
嗨我在角色应用程序上工作后,我收到一个错误,我不知道为什么它会来.
error : TypeError: a is not a function
at angular.min.js:70
at m.promise.then.u (angular.min.js:97)
at m.promise.then.u (angular.min.js:97)
at angular.min.js:98
at h.$get.h.$eval (angular.min.js:108)
at h.$get.h.$digest (angular.min.js:106)
at h.$get.h.$apply (angular.min.js:109)
at f (angular.min.js:71)
at F (angular.min.js:75)
at XMLHttpRequest.x.onreadystatechange (angular.min.js:76)(anonymous function) @ angular.min.js:89$get @ angular.min.js:66m.promise.then.u @ angular.min.js:97m.promise.then.u @ angular.min.js:97(anonymous function) @ angular.min.js:98$get.h.$eval @ angular.min.js:108$get.h.$digest @ angular.min.js:106$get.h.$apply @ angular.min.js:109f @ angular.min.js:71F @ angular.min.js:75x.onreadystatechange @ angular.min.js:76XMLHttpRequest.send (async)b @ angular.min.js:77z @ angular.min.js:72$get.f @ angular.min.js:70m.promise.then.u @ angular.min.js:97m.promise.then.u @ angular.min.js:97(anonymous function) @ angular.min.js:98$get.h.$eval @ angular.min.js:108$get.h.$digest @ angular.min.js:106$get.h.$apply @ …Run Code Online (Sandbox Code Playgroud)