我刚刚更新到Angular-Meteor 1.3.0,并根据their tutorial更新了我的代码,因为旧方法已被弃用。修改代码后,不再保存对模型的更改。事实上,他们甚至没有被送回服务器,我检查了插座。
请注意,当我加载页面时,输入字段会填充正确的值。任何更改都会被忽略。如果我离开并返回,该字段将具有先前的值。它就像数据绑定被破坏或仅单向一样。我有以下代码(为简洁起见而简化)。
查看:
<div ng-controller="GoalDetailsCtrl as ctrl">
<input type="text" ng-model="ctrl.goal.label"/>
</div>
控制器:
angular.module('myapp').directive('goalDetails', function() {
return {
restrict: 'E',
templateUrl: 'client/components/goals/views/goal-details.html',
controllerAs: 'goalDetails',
controller: 'GoalDetailsCtrl'
}
}).controller('GoalDetailsCtrl', function($scope, $stateParams, $reactive) {
$reactive(this).attach($scope);
let reactiveContext = $reactive(this).attach($scope);
reactiveContext.subscribe('goals');
reactiveContext.helpers({
goal: () => Goals.findOne({ _id: $stateParams.goalId }),
otherGoals: () => Goals.find({ _id: { $not: $stateParams.goalId } })
});
});
型号:
Goals = new Mongo.Collection('goals');
// authorization logic
Goals.allow({
insert: function (userId, goal) {
return true;
},
update: function (userId, goal, fields, modifier) {
return true;
},
remove: function (userId, goal) {
return true;
}
});
答案 0 :(得分:0)
显然,一个功能已经被禁止了#autobind&#39;被删除,解释了为什么我有这种行为。