javascript - 在 ember 中单击时更改图像

标签 javascript ember.js

我是 ember 新手,正在尝试找出解决方案。
我有一个包含图像的模板。
当我点击图像时,它应该改变图像。

applicaton.hbs

      {{#if feed.is_following}}
      <a href {{action "unfollow" feed}}>
      <img src = "unfollow.png" /></a>
      {{else}}
      <a href {{action "follow" feed}}>
      <img src = "follow.png" /></a>
      {{/if}}

Controller.js

actions:{
    change() {
    src:"unfollow.png"
    },

如何在点击时将 img 标签源从 follow.png 更改为 unfollow,反之亦然?

最佳答案

使用 computed property 。每当提供的属性发生更改时,就会评估计算属性。

应用程序.hbs

  <a href {{action "change"}}><img src="{{source}}" /></a>

Controller .js

follow: true,
source: Ember.computed('follow', function() {
   return (this.get('follow') ? 'follow' : 'unfollow') + '.png';
}),
actions: {
    change: function() {
       this.toggleProperty('follow');
    }
}

关于javascript - 在 ember 中单击时更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379020/

相关文章:

javascript - jQuery .hover() 动画不平滑 - 悬停效果上有小凹凸/急动

javascript - 批量并行 HTTP 请求,每个请求使用异步 for 循环

javascript - Javascript函数可在FF,Opera等中运行,但在IE8中无法运行-如何修复

ember.js - 无法获取 hasMany 关联

ember.js - Ember数据删除失败,如何回滚

ember.js - 如何在 Ember.js/Handlebars 中显示视频时间

ember.js - 在 Ember 应用程序中找不到 DS.Store 实例化

javascript - Google DFP 动态广告刷新 - 是否有回调来查明广告是否已加载?

javascript - 如何使用 Javascript 切换多个 HTML 元素的背景颜色?

javascript - 我想在页面或 float 模式上添加一个 float div,使页面保持事件状态