javascript - 从 1.4.9 升级到 1.5.0 时,Angular 指令嵌套异常损坏

标签 javascript angularjs angularjs-directive

为模糊的标题道歉;我还没有弄清楚升级后到底发生了什么问题。可能是指令嵌套或模板问题?

(示例图片和下方 CodePens 的链接)

问题

我有一个生成日历的简单开源 AngularJS 库。当使用 AngularJS 1.4.9 时,它工作得很好。但是当我升级到 AngularJS 1.5.0 时,它以最奇怪的方式破坏了布局。

没有错误被抛出并且所有日历天都是在DOM中生成,然而,所有的天都输出到一个星期,所有的星期都输出到一个月(甚至不是第一周)或月份.. arghhh!)。

研究

我已阅读 migration guide for 1.4 > 1.5但没有看到任何听起来相关的东西。我还通读了 1.5 changelog以及相关的 rc 更新日志;再次没有任何关联。

当我检查在 JS 中生成的月/周/等实际数组时,一切看起来都很棒。如果我删除嵌套指令并将所有标记简单地放在一个模板中,则 DOM 输出是正确的(这不是真正的解决方案,因为这会破坏库的某些功能)。

任何想法将不胜感激。


代码和演示

使用不同版本的 AngularJS 查看完全相同的代码(查看设置 > JavaScript 以查看链接的库):

同样,唯一的区别是所包含的 AngularJS 版本。

正在使用的指令很简单:

<!-- This should generate a 30 day calendar starting with the current day --> <bc-calendar class="bc-calendar--days"></bc-calendar>

enter image description here

最佳答案

这不完全是 100% 的答案,但该特定库在很大程度上依赖于 replace 指令标志,该标志已被弃用 see here .我下载了源代码并删除了每个指令上的替换标志,然后对 css 进行了一些修改就能够实现这一点。 angular-json-calendar modification

CSS 更改发生在 .bc-calendar--days, .bc--calendar--days width : 50px;显示:内联柔性;

关于javascript - 从 1.4.9 升级到 1.5.0 时,Angular 指令嵌套异常损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39984580/

相关文章:

javascript - Angular 滑动切换动画在 ng-repeat 中不起作用?

angularjs - 使用 ngRepeat 的递归自定义指令

javascript - 如何通过 ui-select 值设置 ng-model 值

javascript - 在 AngularJS 中使用不带哈希值的 ngView 指令

javascript - 将单击列表的值传递给 EditForm 进行编辑

javascript - 无法让 date.toLocaleString() 将时间更改为语言环境

javascript - Browserify - 在客户端公开一个方法

javascript - 多个 $http.get 请求,每个 JSON 文件由 HTML 中的 h1 分割

angularjs - AngularJS 中 Bootstrap Accordion 内的数据表

javascript - 在不指定表格元素的情况下在表格单元格元素中设置百分比宽度