我试图做一个小例子来学习使用cachefactory,但我得到了错误 “Argument'CacheSampleController'不是函数”
这是我的应用
var eventsApp = angular.module('eventsApp', ['ngResource'])
.factory('myCache', function($cacheFactory) {
return $cacheFactory('myCache', {capacity:3});
});
这是hmtl文件:
<div ng-controller="CacheSampleController" style="padding-left:20px; padding-right:20px">
key: <input type="text" ng-model="key"/><br/>
value: <input type="text" ng-model="value"/><br/>
<button type="button" class="btn" ng-click="addToCache(key, value)">Add To Cache</button><br/>
<br/>
<br/>
<input type="text" ng-model="keyToRead"/><br/>
<h3>Value from cache: {{readFromCache(keyToRead)}}</h3>
<h3>Cache Stats: </h3>{{getCacheStats()}}
</div>
这是控制器
eventsApp.controller('CacheSampleController',
function CacheSampleController($scope, myCache) {
$scope.addToCache = function(key, value) {
myCache.put(key, value);
};
$scope.readFromCache = function(key) {
return myCache.get(key);
};
$scope.getCacheStats = function() {
return myCache.info();
};
}
);
我不确定它是否是语法错误或其他我没看到的东西? 感谢
答案 0 :(得分:0)
将ng-app添加到htm elemvent
<html ng-app="eventsApp">
按此顺序加载您的js文件
<script src="app.js"></script>
<script src="script.js"></script>
您的服务应该是这样的
var eventsApp = angular.module('eventsApp', [])
.factory('myCache', function($cacheFactory) {
return $cacheFactory('myCache', {capacity:3});
});
请检查:plnkr
答案 1 :(得分:0)
您必须将(CacheSampleController.js)包含在您的页面中,如下所示:
<script src="/js/controllers/CacheSampleController.js"></script>
在(app.js)行之后添加它,我相信它会起作用。