在我的mozart应用程序中,每加载几个页面,我就会得到以下JS错误:
"TypeError:'null‘不是https://cdn.bigcommerce.com/mozart/0.1.9/mozart.min.js:1 at https://cdn.bigcommerce.com/mozart/0.1.9/mozart.min.js:1 at https://cdn.bigcommerce.com/mozart/0.1.9/mozart.min.js:2 at https://cdn.bigcommerce.com/mozart/0.1.9/mozart.min.js:2 at https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js:1上的对象(计算'this.el.parentNode.replaceChild')“
我在索引页面上的应用程序看起来像:
<body>
<script type="text/javascript">
App.start({ rootElement: '#RunwayContainer'});
</script>
<div id="RunwayContainer"></div>
</body>在我看来,我所做的只是一个简单的
{{#集合"App.PlayListItemView“collectionObserveBinding=播放”}}占位符{/collection}}
似乎我可以通过强制缓存刷新来可靠地再现这个结果。
我们怎么才能解决这个问题?这会导致我的测试失败,这意味着我们不能在客户面前看到这个。
发布于 2013-09-17 05:50:47
如果您的App.start函数创建了一个布局,然后对其调用bindRoot(rootElement),那么您需要:
(a)将App.Start调用移至div之后
或
(b)将整个App.Start调用封装在$(document).ready中
如果布局找不到根元素,呈现引擎就会崩溃--这在您的代码中是间歇性的,因为脚本是否在DOM中可用之前运行(shift-刷新将导致它持续失败)。
这是一个非常模糊的错误,如果布局找不到根元素,则将在下一个版本的Mozart中添加一个警告。
https://stackoverflow.com/questions/18841963
复制相似问题