我已经在WebComponents开始了我自己的小Github库,并且在测试时它一切运行良好。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>WebComponents</title>
<script src="bower_components/platform/platform.js"></script>
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/WebComponents/components/scheduler/ss-scheduler.html">
</head>
<body>
<ss-scheduler cronValue="0 0 0 0 *"></ss-scheduler>
</body>
</html>
这会像这样呈现组件
此代码段显示了应如何使用 Web组件,并且 Web组件中正确选取并使用了cronValue
。
但是,当我尝试在Github上的另一个项目中使用 Web组件时,只有null
传递给 Web组件。< / p>
websync客户端使用angularjs和Polymer网络组件。
<ss-scheduler cronValue="{{task.schedule.time}}" ng-class="{hidden: !task.schedule.enabled}"></ss-scheduler>
这里我尝试将角度范围值绑定到cronValue
属性,但 Web组件中的日志语句显示没有任何内容被拾取。
我在指令中添加了一个日志语句,显示task.schedule.time
值,而不是null
。
介于值之间的某个位置未通过 angular 正确绑定到 Web组件。
我在研究和尝试解决问题时找到了这个项目,angular-bind-polymer。 但是这只会帮助改变 web组件中的值对angular进行更改,即使使用此指令也不会这样做。
我现在转向你(StackOverflow),希望弄清楚为什么角度网络组件绑定不起作用。
修改
我现在也尝试了angu-poly,但它也无效。
答案 0 :(得分:0)
似乎将属性名称从cronValue
更改为cronvalue
解决了问题,现在angular-bind-polymer
和angu-poly
工作正常。
In the Polymer documentation it says:
值得注意的是,HTML解析器会考虑属性名称大小写 不敏感的。但是,JavaScript中的属性名称区分大小写。
这意味着可以按照您喜欢的方式编写属性,但是 如果查看元素的属性列表,名称将始终为 小写。 Polymer知道这一点,并试图匹配 属性属性仔细。例如,这应该工作 预期:
这对于 Polymer 可能是正确的,但与 angular.js 一起,双向绑定似乎分崩离析并且不起作用。