将简单函数放在Ember项目中的位置

时间:2015-03-29 18:36:01

标签: ember.js

所以...当我正在学习所有这个Ember CLI世界时 - 事情进展顺利。但是,我似乎无法理解我在正常项目中使用的所有普通ol javascript / jQuery实用程序的东西...例如--- this sticky footer thing ...我在哪里放这个?这让我大吃一惊......


// dynamic weighted footer
var watchFooter = function() {

  // define the height variable
  var footerHeight;

    // get the height of the footer and store it in 'footerHeight'
    footerHeight = $('.container.footer').outerHeight();

  // Share that info with the dependent elements
  $('.footer-buffer').css('height', footerHeight);
  $('.container.master').css('margin-bottom', -(footerHeight));

};

// run on window resize - and on load
$(window).resize(watchFooter).trigger('resize');

1 个答案:

答案 0 :(得分:2)

ember-cli有一个创建实用程序的蓝图。您可以使用以下命令生成一个:

ember g util my-util

它将创建文件app/util/my-util.js

export default function myUtil() {
  console.log('TESTING!');  // I've added this to confirm it is working
  return true;
}

然后,为了使用您的新实用程序,您可以在需要时import,如下所示:

import MyUtil from '../utils/my-util';

然后像这样使用它:

MyUtil();  // this will print TESTING! to the console

您还可以创建view并使用didInsertElement事件挂钩。您可以在此处详细了解:http://emberjs.com/api/classes/Ember.View.html#event_didInsertElement

您将使用此命令生成视图:

ember g view my-view

编辑生成的文件app/views/my-view.js以使用didInsertElement事件挂钩:

export default Ember.View.extend({
    didInsertElement: function() {
        // do stuff
    }
});