我只是想尝试将Ember.js用于我正在做的网站(免责声明:我是一名Java Web开发人员,GWT)。
到目前为止,我所尝试的是将整个标签代码打成这样的
<body>
<script type="text/x-handlebars">
<!-- The whole page -->
</script>
</body>
现在,我只想利用Ember.js的内容,如组件,模型和验证我的网站。
这里涉及到的依赖关系:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js" type="text/javascript"></script>
<script src="js/vendor/modernizr-2.6.2.min.js"></script>
<script src="js/jquery-ui.js"></script>
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>
<!-- Ember -->
<script src="js/libs/handlebars-v3.0.0.js"></script>
<script src="js/libs/ember-template-compiler-1.10.0.js"></script>
<script src="js/libs/ember-1.10.0.debug.js"></script>
<script src="js/app.js"></script>
app.js
App = Ember.Application.create();
App.Router.map(function() {
});
问题是,当我将身体放入x-handlebars脚本时,过去工作的jQuery插件(如bxslider,carousel等)将无法处理脚本标记内的内容。
我的方法有什么问题?
答案 0 :(得分:0)
在运行JQuery代码后,正在呈现<script type="text/x-handlebars">Script</script>
中呈现的内容。您可以通过使用didInsertElement
或view
中的component
事件进行修改来修复此问题,以运行初始化已呈现视图中元素所需的任何代码。
didInsertElement: function() {
this.$().DoStuff();
}
StackOverflow还有很多其他问题 - 例如this one - 解决类似的问题,因此您应该能够调整他们的方法。