我有这样一个需求:ChartController会生成变量,将数值赋给p的id,然后GraphController中用到p的id变量,但是GraphController中的方法需要p的id已被渲染才行。
<p ng-controller="ChartController">
<p ng-repeat="id in chart.id">
<p id="{{ id.value }}" ng-controller="GraphController"><p>
<p>
</p>
如果GraphController的xx方法被调用的时候,我查看前端的代码,p的id名称还是
<p id="{{ id.value }}"...
去除ng-controller="GraphController"后,发现p的id渲染正确
<p id="abc123"...
很奇怪!
我不建议将angular的模板语言直接放在id或者class这些属性里,可以用ng-class,ng-href,ng-src这些属性代替。
angular里的controller不是类,不能用类似楼主那样的方法直接从一个controller里新建多个类并传值给它们。
楼主需要的是directive
http://plnkr.co/edit/M1gtlySErXvSOgQayxF6?p=preview
关于directive,看这里
http://plnkr.co/edit/5JSoltju6h9tmRTmS2SE?p=preview
没看出来啥问题。。你是如何调用id的。。
ng-controller会开个新的scope