如何使用semantic-ui-ember对semantic-ui模块执行`execute`动作?

时间:2016-12-09 10:36:32

标签: ember.js semantic-ui

我在2周前在semantic-ui-ember的回购中写了github issue,但我还没有回答。这就是为什么我在这里重新发布它,希望得到更多答案。

我试图从文档中创建一个示例项目,并且无法使用我所经历过的所有文档正常工作。我可能会遗漏一些非常重要的东西。我实际上能够获得由ember生成的语义模块,但是当我尝试与它们交互并对它们使用操作时,我会陷入困境。

我尝试过很多不同的东西,但我越接近this guide

我做了什么的详细信息。要查看实际错误,请转到我的解释结尾。

  1. 我首先安装了ember:npm install -g ember-cli
  2. 然后我创建了一个新的测试项目:ember new testEmberSemantic
  3. 为我未来的手风琴测试创建了基本模板和组件:

    ember生成模板应用程序 ember生成模板索引 ember生成组件accordion-test

  4. 然后我安装Semantic-UI-Ember并生成它:

    ember install semantic-ui-ember ember生成semantic-ui-ember

  5. 然后我将以下内容放入templates/components/accordion-test.hbs

    {{yield}}
    {{#ui-accordion as |execute|}}
      <div class="title">
        Semantic UI
      </div>
      <div class="content">
        Be sure to check out <div class="ui button"
        onclick="{{action (execute 'open' 1)}}">the example</div>
      </div>
      <div class="title">
        Example
      </div>
      <div class="content">
        This is a great example!
      </div>
    {{/ui-accordion}}
    
  6. 我在{{accordion-test}}templates/index.hbs {{outlet}}添加了一个简单的templates/application.hbs

  7. 遇到错误。

    1. 然后,如果我尝试运行ember server并在localhost:4200加载网页,则控制台中出现以下错误,但未呈现任何内容。

      Assertion Failed: A helper named "execute" could not be found
      
    2. 如果我在execute中没有actiontemplates/components/accordion-test部分的情况下尝试相同的操作,我会得到一个正常的页面,当然,按钮上没有事件处理程序。

      我有点猜测,从我从文档中读到的内容,而不是它隐含地调用基础mixin中的ui-accordion组件的方法,该方法应该在语义组件上调用该方法,但它没有明确说明

      我甚至尝试在components/accordion-test中添加以下内容,以确保我不需要创建&#34;帮助&#34;自己。

      import Ember from 'ember';
      
      export default Ember.Component.extend( {
        actions: {
          execute( command, argumentOne ) {
            $( '.ui.accordion' ).accordion( command, argumentOne );
          }
        }
      } );
      

      但这并没有帮助。 我认为主要问题可能来自于我对Semantic-UI-Ember的使用,但这是我可以根据我在文档中找到的内容得到的最接近的东西。也许这需要更新,以确保新手能够轻松地找到一个有效的例子。

      此外,我使用node v7.1.0进行了一次所有这一切,然后使用6.9.1版本再次尝试(从头开始)并得到相同的结果。因此,它似乎与节点版本无关,在这里。

      感谢您在阅读本文时的耐心等待。 :)

      PS :这篇文章可能需要一个名为semantic-ui-ember的新标记,因为它使用了这个框架,但我没有这样做的声誉。请随意创建并标记此帖子。谢谢。

0 个答案:

没有答案