我需要在表单保存后调用scrolltop函数。我编写了工厂类,用于访问应用程序中的任何位置。但是工厂呼叫不起作用。
这是我的工厂类
.factory('scrollTop', function () {
return {
start: function () {
$window.scrollTo(0, angular.element(document.getelementsbyclassname('validation-position')).offsetTop);
},
};
})我在save函数中调用了这个函数。
$scope.saveUpdateUserDetails = function (id) {
if (id == undefined) {
$scope.saveUser();
$scope.scrollTop.start();
} else {
$scope.updateUser(id);
$scope.scrollTop.start();
}
};但是错误说“无法读取未定义的属性'start‘”。如何在save函数中调用我的工厂函数。
发布于 2020-04-21 18:15:51
您必须在控制器定义中注入工厂或服务,如下面的代码示例所示
app.controller('MyController',['$scope','scrollTop',function($scope, scrollTop){
$scope.saveUpdateUserDetails = function (id) {
if (id == undefined) {
$scope.saveUser();
scrollTop.start();
} else {
$scope.updateUser(id);
scrollTop.start();
}
};
}]);https://stackoverflow.com/questions/61319728
复制相似问题