Javascript 类型错误:<&燃气轮机;这不是一个函数。难倒
我一辈子都搞不懂为什么控制台告诉我persistSetting()和persistAllSettings()函数不是函数 这是一个angularJS控制器 它是否与函数中的异步方法调用有关Javascript 类型错误:<&燃气轮机;这不是一个函数。难倒,javascript,Javascript,我一辈子都搞不懂为什么控制台告诉我persistSetting()和persistAllSettings()函数不是函数 这是一个angularJS控制器 它是否与函数中的异步方法调用有关 configApp.controller('settingsController', ['$scope', function($scope) { $scope.toPersist = { discreteValue: 6, qualityCheckBox: false }; $sc
configApp.controller('settingsController', ['$scope', function($scope) {
$scope.toPersist = {
discreteValue: 6,
qualityCheckBox: false
};
$scope.$watchCollection('toPersist', function(newConfigSetting) {
this.persistSetting(newConfigSetting);
this.persistAllSettings();
});
function persistAllSettings() {
chrome.storage.sync.set(toPersist, function() {
// notify user?
});
}
function persistSetting(someSetting) {
chrome.storage.sync.set(someSetting, function() {
// notify user?
});
}
}]);
您有名为
persistSetting
和persistAllSettings
的本地函数,但您试图在没有具有这些名称的方法的对象上调用名为persistSetting
和persistAllSettings
的方法。(这就像声明名为foo
的变量不会突然使其成为this.foo
)
您很可能需要执行以下操作之一:
- 将
和this.persistSetting
分别更改为this.persistAllSettings
和persistSetting
persistAllSettings
- 将该对象上的
和persistSetting
方法分别设置为persistAllSettings
和persistSetting
函数persistAllSettings
this作为作用域中可见函数的前缀。
,因为它用于访问实例方法
$scope.$watchCollection('toPersist', function(newConfigSetting) {
persistSetting(newConfigSetting);
persistAllSettings();
});
它们可能不是
此对象的一部分。我看到它们被定义在那里,但它们并不是任何对象的一部分。您可能不需要这个。就是这样。谢谢,这让我快发疯了。