我是AngularJS的新手。我有以下angularJS代码
(function () {
getDataFactory = function ()
{
return {
callWebApi: function (reqData)
{
alert(reqData);
}
}
}
patientCategoryController = function ($http, $scope, getDataFactory) {
// The following line is the culprit. If this is commented, I dont get the error.
// But it works, ie. when UNcommented, I get the messagebox showing
// "someDataToPass"!! So whats wrong???
angular.element(document).ready(getDataFactory.callWebApi('someDataToPass'));
}
patientCategoryController.$inject = ['$http', '$scope', 'getDataFactory'];
angular.module('demoApp', []);
angular.module('demoApp').controller('patientCategoryController', patientCategoryController);
angular.module('demoApp').factory('getDataFactory', getDataFactory);
}());
我找到了方法调用
angular.element(document).ready(getDataFactory.callWebApi('someDataToPass'));
是问题所在。 所以我错过了一些非常基本的东西。有人可以指导我这个。 HTML是绝对的基本骨架。我在Chrome浏览器中收到此错误,右键单击,然后选择检查页面元素。
答案 0 :(得分:3)
你正在传递一个void函数结果做document.ready方法。 这里有两个可能的修复:
DbFunctions.TruncateTime(c.InDateTime.Value.Date) == date.Date

未使用document.ready
angular.element(document).ready(function(){
getDataFactory.callWebApi('someDataToPass'));
});
答案 1 :(得分:3)
你应该将函数体作为[row,col]
参数传递,而不是函数返回值,所以这个:
ready
应该成为:
angular.element(document).ready(getDataFactory.callWebApi('someDataToPass'));