javascript - 如何让 ngclick 像切换一样工作?

标签 javascript angularjs

我已经获取了一个跨度,单击该跨度后,它会加 1。但我需要的是,ngclick 应该只添加一次到范围内的任何值。再次点击它应该减去 1。它不应该连续迭代。 我从 json 数据中获取 {{tvshow.episode. ratings.loved}} 。 请帮忙。

//html
<html>
<body>
    <span class="label likeme"  ng-click="tvshow.episode.ratings.loved = tvshow.episode.ratings.loved + 1" ng-init="{{tvshow.episode.ratings.loved}}">
        <i class="icon-thumbs-up"></i> {{tvshow.episode.ratings.loved}}</span>
</body>
</html>

最佳答案

//view.html

<span ng-click="doOneTimeOnly();">{{tvshow.episode.ratings.loved}}</div>

//controller.js

  $scope.times = 0;

    $scope.doOneTimeOnly = function () {
      if ( $scope.times < 1) {
        //do my stuff with the tvshow.episode.ratings.loved
        //.................
       $scope.times += 1;
      }
    }

实际上我认为这没有意义,但这正是您所要求的:P

这也可以轻松移动到自定义指令,例如 directive('ngOneClickOnly');

关于javascript - 如何让 ngclick 像切换一样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27201729/

相关文章:

javascript - 使用 Rickshaw 绘制时间序列图表。输入数据的格式

javascript - 如何将 Soundcloud API(身份验证)与 Angular.js 一起使用

javascript - 如何使用 vanilla js 更新 polymer 元素的数据(dom)?

javascript - 在许多 reducer 之间共享公共(public)状态

angularjs - 如何在 AngularJS ng-repeat 中使用 ES6 Map

javascript - 模拟服务时 Jasmine 出现问题

angularjs - 为什么AngularJS货币过滤器使用括号将负数格式化?

javascript - 全局 BeforeEach 用于使用 Mocha 和 Angular 模拟 HTTP 请求

javascript - 当图像都缩放时,如何正确计算图像并将其放置在另一个图像的顶部 - 跨浏览器?

Javascript 范围和顺序问题