javascript - 如何调用angular js工厂类
问题描述
我需要在表单保存后调用 scrolltop 函数。我编写工厂类以在我的应用程序中随处访问。但工厂电话不起作用。
这是我的工厂课
.factory('scrollTop', function () {
return {
start: function () {
$window.scrollTo(0, angular.element(document.getelementsbyclassname('validation-position')).offsetTop);
},
};
})
我在保存函数中调用了这个函数。
$scope.saveUpdateUserDetails = function (id) {
if (id == undefined) {
$scope.saveUser();
$scope.scrollTop.start();
} else {
$scope.updateUser(id);
$scope.scrollTop.start();
}
};
但错误说“无法读取未定义的属性'开始'”。我如何在保存函数中调用我的工厂函数。
解决方案
您必须像此代码示例一样在控制器定义中注入您的工厂或服务
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();
}
};
}]);
推荐阅读
- java - 在 Spring 中用 @Value 替换环境
- python - 熊猫:寻找时间模式
- java - 不兼容的类型 java.sql.timestamp 无法转换为 java.security.timestamp
- firebase - Firebase 存储安全?
- reactjs - 在 React Native 中垂直对齐组件
- html - 如何为两个 div 的一半提供背景颜色?
- c - devc++中,为什么只能输入数字,却不能求和?
- android - Android TV 中的谷歌助手和应用操作问题
- spring - 不要使用 RestTemplate 向服务发出相同的 http 请求,而是在不使用数据库的情况下将响应缓存在某处?
- flutter - 应该只有一项具有 [DropdownButton] 的值