将 Ember.js 用于单页网站(不是真正的网络应用程序)
Using Ember.js for Single Page Website (not really a web app)
我只想尝试将 Ember.js 用于我正在做的网站(免责声明: 我是一名 Java 网络开发人员,GWT)。
到目前为止,我尝试的是将整个 body 标签代码打成这样
<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() {
});
问题是,当我将 body 放入 x-handlebars 脚本时,以前可以使用的 jQuery 插件(如 bxslider、carousel 等)将无法使用脚本标签内的东西。
我的方法可能有什么问题?
在您的 <script type="text/x-handlebars">Script</script>
中呈现的内容是在您的 JQuery 代码具有 运行 之后呈现的。您可以通过使用 view
或 component
中的 didInsertElement
事件修改为 运行 初始化呈现的视图中的元素所需的任何代码来解决此问题。
didInsertElement: function() {
this.$().DoStuff();
}
Whosebug 上还有许多其他问题 - 例如, - 解决了类似的问题,因此您应该能够采用他们的方法。
我只想尝试将 Ember.js 用于我正在做的网站(免责声明: 我是一名 Java 网络开发人员,GWT)。
到目前为止,我尝试的是将整个 body 标签代码打成这样
<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() {
});
问题是,当我将 body 放入 x-handlebars 脚本时,以前可以使用的 jQuery 插件(如 bxslider、carousel 等)将无法使用脚本标签内的东西。
我的方法可能有什么问题?
在您的 <script type="text/x-handlebars">Script</script>
中呈现的内容是在您的 JQuery 代码具有 运行 之后呈现的。您可以通过使用 view
或 component
中的 didInsertElement
事件修改为 运行 初始化呈现的视图中的元素所需的任何代码来解决此问题。
didInsertElement: function() {
this.$().DoStuff();
}
Whosebug 上还有许多其他问题 - 例如,