一周前我开始学习 Ember.js,我正在尝试将Bootstrap Material Design集成到我的应用程序中。我已阅读说明我需要致电的文档:
$.material.init()
我试图创建一个实例初始化程序并将此代码放入,但什么也没发生。
谁能帮我在我的 Ember 应用程序中初始化材质效果?
一周前我开始学习 Ember.js,我正在尝试将Bootstrap Material Design集成到我的应用程序中。我已阅读说明我需要致电的文档:
$.material.init()
我试图创建一个实例初始化程序并将此代码放入,但什么也没发生。
谁能帮我在我的 Ember 应用程序中初始化材质效果?
我使用 Ember 2.12.01 的解决方案是$.material.init();
将
var initMD = function() {
$(document).ready(function(){
$.material.init();
})
}
并在我的路由器中使用didTransition
操作调用此函数
export default Ember.Route.extend({
actions: {
didTransition() {
initTheme();
return true; // Bubble the didTransition event
}
},
[...]
}
我找到了答案。根据 Ember 文档,我们可以使用应用程序实例初始化程序,它可以在我们的应用程序加载时运行代码。
应用程序实例初始化程序在加载应用程序实例时运行。它们提供了一种配置应用程序初始状态的方法,以及设置应用程序实例本地的依赖注入(例如 A/B 测试配置)。
所以,我刚刚使用 ember-cli 生成了一个新的实例初始化程序
ember generate instance-initializer bootstrap-material
并调用了Bootstrap Material Design JS 函数:
// app/instance-initializers/bootstrap-material.js
import Ember from 'ember'
export function initialize(applicationInstance) {
Ember.$.material.init();
};
export default {
name: 'bootstrap-material',
initialize: initialize
};
这就是我为让它工作所做的一切。希望能帮助到你。