Angularjs 在角度视图中更改模型特性
我在mean stack中工作,我在Mongoose中定义了一个文章模式。其中一个属性是“approved”,我使用它让管理员从管理仪表板批准某篇文章 我想使用浏览器中的按钮修改已批准的属性。我有以下代码: 控制器:Angularjs 在角度视图中更改模型特性,angularjs,Angularjs,我在mean stack中工作,我在Mongoose中定义了一个文章模式。其中一个属性是“approved”,我使用它让管理员从管理仪表板批准某篇文章 我想使用浏览器中的按钮修改已批准的属性。我有以下代码: 控制器: vm.approveArticle = function (id) { if (confirm("You are about to publish this article!")) { vm.articleData.approved = true;
vm.approveArticle = function (id) {
if (confirm("You are about to publish this article!")) {
vm.articleData.approved = true;
}
};
视图:
目前我遇到了一个类型错误:无法设置未定义的错误的属性“approved”,这证明我可能做错了什么
如何从视图中更改approved属性?除非vm.approved
是一个属性,其get
从vm.articleData.approved
读取,我想您只需要在控制器方法中使用vm.approved=true
。因为您的问题是关于“angularjs”,请只使用该标记。当您只询问一个组件时,MEAN和其他术语不适用。所以,若你们认为其他的东西也适用于这里,那个么你们就应该在你们的问题中发布这些内容,而不是让人们猜测。这篇文章是什么?为什么在视图中使用article.approved
,在控制器中使用vm.articleData.approved
?向我们显示一个完整的视图和一个完整的控制器。@jbnitet,article是来自articleController作为article
的文章,因此,如果article是控制器,并且视图使用article.approved
,假设vm
也是控制器,那么JS代码为什么使用vm.articleData.approved
,而不是像视图所期望的那样vm.approved
?这个articleData
变量来自哪里?
<td>
<a href="#" class="btn btn-success disabled" ng-show="article.approved">Approved</a>
<a href="#" class="btn btn-info" ng-click="article.approveArticle(art._id)" ng-show="!article.approved">Approve</a>
</td>