JavaScript未更新$scope变量的一部分
JavaScript not updating part of $scope variable
作为参考,我为API调用使用带有Restangular的MEAN堆栈。
post.tags
变量是我的脚本应该更新的字符串数组(以及对象的其余部分)。问题是,tags
变量没有更新,而post
对象中的其他变量没有问题。
我将数组连接到一个字符串中,以便在更新之前可以在视图中轻松修改它,但我怀疑这一行也是导致它无法正确更新的原因。我插入了一个控制台日志,以验证当我单击视图中的保存按钮时$scope.tags
是否没有更新。视图中的一个小的双向绑定还显示,它确实会在按下save之前进行更新,但一旦按下该按钮,它就会恢复到原始值。
这似乎是一个微不足道的问题,但我很难找到解决方案。如有任何帮助,我们将不胜感激。
post-edit.js
.controller('PostEditCtrl', function ($scope, $location, $routeParams, Post) {
$scope.editPost = true;
$scope.post = {};
Post.one($routeParams.id).get().then(function(post) {
$scope.post = post;
$scope.tags = $scope.post.tags.join();
$scope.savePost = function() {
$scope.post.tags = $scope.tags.replace(/['s]/g, '').split(',');
console.log($scope.tags);
$scope.post.save().then(function() {
$location.path('/post/' + $routeParams.id);
});
};
});
});
post-edit.html
...
<div class="form-group">
<label for="content" class="control-label">Tags</label>
<input type="text" ng-model="tags" class="form-control" id="tags" placeholder="Enter a comma separated list of tags">
<p>{{tags}}</p>
</div>
...
通过根本不使用临时变量$scope.tags
而只使用$scope.post.tags
解决了我的问题。最终JS文件如下:
post-edit.js
.controller('PostEditCtrl', function ($scope, $location, $routeParams, Post) {
$scope.editPost = true;
$scope.post = {};
Post.one($routeParams.id).get().then(function(post) {
$scope.post = post;
$scope.post.tags = $scope.post.tags.join();
$scope.savePost = function() {
$scope.post.tags = $scope.post.tags.replace(/['s]/g, '').split(',');
$scope.post.save().then(function() {
$location.path('/post/' + $routeParams.id);
});
};
});
});
相关文章:
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 将变量用作mongodb中字段名的一部分
- 尝试在 jquery ajax 帖子中将变量设置为URL 的一部分
- 如何使用RegExp选择字符串的一部分并在变量中重用它
- JavaScript未更新$scope变量的一部分
- 如果两个值都会动态变化,则用变量替换某个字符串的一部分 - Javascript
- jQuery,从变量调用数组对象的一部分
- 将数组变量传递给函数的下一部分
- 使用变量作为“this.state”调用ReactJS的一部分
- 如何在 MongoDB shell 中使用变量作为字段名称的一部分
- 如何在 for 循环中维护迭代变量的原始值,该循环设置事件调用,其中迭代值是函数的一部分
- 变量中RegExp模式的一部分
- Javascript将字符串的一部分替换为变量
- Javascript-使用一个变量获取数组的一部分
- 如何将变量传递给属于函数调用参数一部分的函数
- 全局javascript变量在对象构造函数的一部分中变得未定义
- 为什么在构造函数中注释/取消注释alert()会将变量切换为obj实例的一部分
- 将变量求值作为JSON查询的一部分
- knockout.mapping.js,是否可以只更新映射变量的一部分
- Javascript-如何删除字符串的一部分并将其分配给变量进行操作?字符串是可变的