Javascript 在AngularJS中切换编辑状态并更改项目';单击以转到另一个函数
我有一个编辑按钮和一个包含项目的列表。当我单击“编辑”时,我想进入“编辑模式”,当处于编辑模式时,我想能够单击列表中的项目并在单击时将其删除。当不处于编辑模式时,这些项调用另一个函数,因此我不确定如何实现这一点 以下是我的标记:Javascript 在AngularJS中切换编辑状态并更改项目';单击以转到另一个函数,javascript,html,angularjs,Javascript,Html,Angularjs,我有一个编辑按钮和一个包含项目的列表。当我单击“编辑”时,我想进入“编辑模式”,当处于编辑模式时,我想能够单击列表中的项目并在单击时将其删除。当不处于编辑模式时,这些项调用另一个函数,因此我不确定如何实现这一点 以下是我的标记: <span class="side-text"><a ng-click="toggleEditState()">Edit</a></span> <ul id="fav-tags-list" class="list"&
<span class="side-text"><a ng-click="toggleEditState()">Edit</a></span>
<ul id="fav-tags-list" class="list">
<li ng-repeat="tag in tagsList" ng-bind="tag"
ng-click="shared.getImages(tag)"></li> //If editState = true then change to removeTag(tag)
</ul>
我如何在这里实现我想要的?如果有更聪明的解决办法,我会接受的 一个可能的解决方案是有两个列表。一个不在编辑模式下显示,另一个在编辑模式下显示
<span class="side-text"><a ng-click="toggleEditState()">Edit</a></span>
<ul id="fav-tags-list" class="list" ng-show="!editState">
<li ng-repeat="tag in tagsList" ng-bind="tag"
ng-click="shared.getImages(tag)"></li>
</ul>
<ul id="fav-tags-list" class="list" ng-show="editState">
<li ng-repeat="tag in tagsList" ng-bind="tag"
ng-click="shared.removeTag(tag)"></li>
</ul>
编辑
一种可能的解决方案是有两个列表。一个不在编辑模式下显示,另一个在编辑模式下显示
<span class="side-text"><a ng-click="toggleEditState()">Edit</a></span>
<ul id="fav-tags-list" class="list" ng-show="!editState">
<li ng-repeat="tag in tagsList" ng-bind="tag"
ng-click="shared.getImages(tag)"></li>
</ul>
<ul id="fav-tags-list" class="list" ng-show="editState">
<li ng-repeat="tag in tagsList" ng-bind="tag"
ng-click="shared.removeTag(tag)"></li>
</ul>
编辑
我认为有一个非常简短而优雅的解决方案:
<div ng-click="select? a() : b()">some element</div>
某个元素
如果select
为true,则调用a()
,否则调用b()
plnkr在几个div上显示了我的解决方案,为您的用例实现它应该不难。我认为有一个非常简短而优雅的解决方案:
<div ng-click="select? a() : b()">some element</div>
某个元素
如果select
为true,则调用a()
,否则调用b()
是一个在几个div上显示我的解决方案的plnkr,为您的用例实现它应该不难。您可以创建一个调用
shared.removeTag(tag)
或someOtherFunction(tag)
的函数,具体取决于$scope.editState
变量
例如:
$scope.myFunction = function(tag) {
if ($scope.editState) {
shared.removeTag(tag)
} else {
shared.getImages(tag)
}
}
HTML:
根据$scope.editState
变量,您可以创建一个调用shared.removeTag(tag)
或someOtherFunction(tag)
的函数
例如:
$scope.myFunction = function(tag) {
if ($scope.editState) {
shared.removeTag(tag)
} else {
shared.getImages(tag)
}
}
HTML:
对我来说确实如此,这里有一个悬念,我想我的if语句搞砸了。工作起来很有魅力!谢谢:)这对我来说确实是,这里有一个悬念,我想我在我的if声明中弄糟了。像一个符咒一样工作!谢谢:)