标签: sproutcore-2

在Sproutcore 2中编写自定义控件

我对Sproutcore很新,但我熟悉Handlebars.我已经完成了Todo教程并检查了一些其他样本.

我喜欢它的一切,并希望在Backbone上使用它,但我很难理解如何连接自定义控件.我可以看到一些数据将在绑定中发挥作用,但触发我迷失的事件.

举个例子,如果我有一个链接列表,我想用它来过滤它下面的数据,那我该如何处理这些事件呢?我知道在骨干中你会使用事件和选择器:"click .link"

任何帮助将不胜感激!

sproutcore sproutcore-2

3
推荐指数
1
解决办法
1467
查看次数

如何在Twitter bootstrap下拉菜单中使用Sproutcore 2.0

我使用twitter-bootstrap创建顶部菜单,它工作正常

.topbar
  .topbar-inner
    .container-fluid
      {{#view Mediawrap.menuView id="menuView"}}
      = link_to 'Mediawrap', root_path, {:class=>"brand"}
      %ul.nav
        %li.menu
          = link_to 'Search', "#", {:class=>"menu"}
          %ul.menu-dropdown
            %li
              = link_to "Hide date search", "#"
            %li
              = link_to "Hide index search", "#"
            %li
              = link_to "Hide advance search", "#"
            %li
              = link_to "Clear search", "#"
            %li.divider
            %li
              = link_to 'Save to new folder ...', "#"
            %li
              = link_to 'Replace a folder', "#"
      {{/view}}
Run Code Online (Sandbox Code Playgroud)

直到我尝试将Sproutcore添加到页面.我的下拉列表停止工作了.我认为这是因为"$(document).ready(function()"在Sproutcore生成HTML标记之前调用.

$(document).ready(function() {
  alert("bank");
  $(".topbar").dropdown();
});
Run Code Online (Sandbox Code Playgroud)

在sproutcore完成生成HTML标记后,如何在document.ready中调用命令

twitter-bootstrap sproutcore-2 ember.js

3
推荐指数
1
解决办法
1346
查看次数

我如何等待Sproutcore 2.0加载所有模板?

在我的应用中,<body>标记只包含一个<script type="text/x-handlebars>包含我所有视图的标记.Sproutcore 2.0很好地添加了一个jQuery on-document-ready处理程序,它解析这些模板并将它们呈现回DOM.

我想在其中一个视图渲染后立即调用一个函数.问题是重新插入是异步发生的,所以我不知道视图何时可用.

<body>
  <script type="text/x-handlebars">
    ...
    {{view "MyApp.TweetInputView"}}
    ...
  </script>
</body>
Run Code Online (Sandbox Code Playgroud) 视图:
MyApp.TweetInputView = SC.View.extend({
  init: function() {
    // act like a singleton
    MyApp.TweetInputView.instance = this;
    return this._super();
  },
  focus: function() {
    ...
    this.$().focus();
  }
});
Run Code Online (Sandbox Code Playgroud) 初始化
// if the URL is /tweets/new, focus on the tweet input view
$(function() {
  if (window.location.pathname === '/tweets/new') {
    // doesn't work, because the view hasn't been created yet:
    MyApp.TweetInputView.instance.focus();
  }
});
Run Code Online (Sandbox Code Playgroud)

我也试过SC.run.schedule('render', …

javascript sproutcore sproutcore-2

1
推荐指数
1
解决办法
315
查看次数