son*_*lis 0 angularjs angularjs-directive
我已经创建了一个简单的小指令(绝不是完整的),以最简单的方式呈现日期选择器.绑定到范围属性时,可以通过单击某一天来更新该属性.到现在为止还挺好.当然,您需要能够查看其他月份.这是事情变得棘手的地方.当有人点击顶部日期旁边的"<"或">"时,我正在重新生成与模板绑定的HTML:属性.当我这样做时,我正在尝试$ compile,以便所有角度连接仍然按预期运行,但我遗漏了一些关于我的$ compile操作如何更改元素的内容.我用它来编译新的HTML:
element.replaceWith($compile(getCalHMTL(month, year))(scope));
Run Code Online (Sandbox Code Playgroud)
这是有效的,一切都连接到第二次调用,但是当第二次调用(通过第二次点击'>'或'<')时,我收到以下错误消息:
Cannot read property 'replaceChild' of null
Run Code Online (Sandbox Code Playgroud)
好像元素在link:property中为null.在这个例子中,我应该如何使用$ compile来完成这项工作?
and*_*urk 10
编译html时,元素没有使用新编译的html进行更新.如果您将元素重新分配给新编译的html,它将起作用.
scope.ChangeMonth = function(month, year){
var compiled = $compile(getCalHMTL(month, year))(scope);
element.replaceWith(compiled);
element = compiled;
}
Run Code Online (Sandbox Code Playgroud)
这是一个更新的小提琴使用的工作:http://jsfiddle.net/Pj3f2/
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |