1

零件。

{{#each flashMessages.queue as |flash|}}
  {{flash-message flash=flash messageStyle='bootstrap'}}
{{/each}}
<button {{action 'getFlash'}}> Click for Flash </button>

组件js

import Ember from 'ember';

export default Ember.Component.extend({
    flashMessages: Ember.inject.service(),
    actions:{
        getFlash(){
            alert(this.get('flashMessages'))
            const flashMessages = Ember.get(this, 'flashMessages');
            flashMessages.success('Success!');
        }
    }
});

错误消息:未捕获的类型错误:

Cannot read property 'success' of undefined
    at Class.getFlash (flash-item.js:8)
    at Class.send (ember.debug.js:39876)
    at Class.superWrapper [as send] (ember.debug.js:39636)
    at ember.debug.js:11124
    at Object.flaggedInstrument (ember.debug.js:17747)
    at ember.debug.js:11123
    at Backburner.run (ember.debug.js:720)
    at Object.run (ember.debug.js:21514)
    at ActionState.handler (ember.debug.js:11103)
    at HTMLButtonElement.<anonymous> (ember.debug.js:41005)
getFlash @ flash-item.js:8
send @ ember.debug.js:39876
superWrapper @ ember.debug.js:39636
(anonymous) @ ember.debug.js:11124
flaggedInstrument @ ember.debug.js:17747
(anonymous) @ ember.debug.js:11123
run @ ember.debug.js:720
run @ ember.debug.js:21514
handler @ ember.debug.js:11103
(anonymous) @ ember.debug.js:41005
dispatch @ jquery.js:5201
elemData.handle @ jquery.js:5009

警报消息:未定义

所以服务注入由于某种原因不起作用。我错过了什么。我参考的指南:https ://github.com/poteto/ember-cli-flash#displaying-flash-messages

ember 安装 ember-bootstrap ember 安装 ember-cli-flash

这两个都安装好了。

4

1 回答 1

1

每当我们安装任何 ember 插件时,都需要停止和启动ember serve

一般来说,每当我遇到任何问题时,我都会在相应的项目 github 问题列表中搜索,这将帮助我解决。在这种情况下,我刚刚发现并确认了这个问题解决方案

于 2017-01-13T12:21:39.283 回答