我试图用流星和Angularjs工作。 我使用Meteor_angularjs包,它可与OK Collections
。
现在,我尝试使用Session
,我的反应数据存储:
TestCtrl = [
"$scope",
function($scope){
$scope.value = Session.get('someValue');
}
]
这是行不通的。
问:如何牵制流星的任何建议Session
和角?
据我了解,我可以写指令,将轮询Session
几乎每ofter,但我不认为这是一个不错的选择。
谢谢
更新:
我已经试过如下:
TestCtrl = [
"$scope",
function($scope){
Meteor.autorun(function(){
$scope.config = Session.get('testsConfig');
if (!$scope.$$phase){
$scope.$digest();
}
});
}
]
它的排序工作,但我得到以下错误:
Error: INVALID_STATE_ERR: DOM Exception 11
Error: An attempt was made to use an object that is not, or is no longer, usable.
at derez (http://localhost:3000/test:95:41)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30)
at derez (http://localhost:3000/test:95:30) angular.js:5526
$get angular.js:5526
$get angular.js:4660
$get.Scope.$digest angular.js:7674
(anonymous function) controllers.js:46
Meteor.autorun.rerun deps-utils.js:78
_.extend.run deps.js:19
Meteor.autorun.rerun deps-utils.js:78
_.extend.flush deps.js:63
_.each._.forEach underscore.js:79
_.extend.flush deps.js:61
_.each._.forEach underscore.js:79
_.extend.flush deps.js:60
更新2:
我已经试过这样的服务(可能是错误的用法),仍然一无所获。 现在,它不会对会话值的变化在所有更新。
Meteor.autorun(function(){
app.factory('ssn', function(){ return{
get: function(val){
return Session.get(val);
}
}});
});
TestCtrl = [
"$scope","ssn",
function($scope, ssn){
$scope.config = ssn.get('testsConfig');
}
]
更新3:角已经$apply()
为
从角框架的外侧角执行的表达式。 (例如,从浏览器的DOM事件,setTimeout的,XHR或第三方库)
同时流星有Meteor.render()
为
大部分时间,但是,你不会直接调用这些函数 - 你只用你喜欢的模板包,如把手或翡翠。 渲染和renderList功能适用于正在实施新的模板系统的人。
然而,好像我只是不能把2和2在一起。 :(