Javascript 为什么AngularJS表达式在HTML模板中只被替换一次?
我是angularjs新手,尝试使用以下html模板。但是angularjs仅用值替换文本区域中的第一个{fragment.id}表达式。所有其他{fragment.id}}表达式在生成的html代码中保持不变Javascript 为什么AngularJS表达式在HTML模板中只被替换一次?,javascript,angularjs,angularjs-directive,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我是angularjs新手,尝试使用以下html模板。但是angularjs仅用值替换文本区域中的第一个{fragment.id}表达式。所有其他{fragment.id}}表达式在生成的html代码中保持不变 <div class="input-box" ng-repeat="fragment in project.fragments"> <textarea id="code-{{ fragment.id }}" class="code-input" ng-mode
<div class="input-box" ng-repeat="fragment in project.fragments">
<textarea id="code-{{ fragment.id }}" class="code-input" ng-model="content">{{ fragment.content }}</textarea>
<button class="btn btn-xs btn-primary" style="margin-top:5px;" ng-click="execute({{ fragment.id }})"><i class="glyphicon glyphicon-play"></i> Run</button>
<script type="text/javascript">
applyCodeMirror({{ fragment.id }});
</script>
<div id="result-{{ fragment.id }}" ng-model="result"></div>
</div>
{{fragment.content}
跑
applyCodeMirror({fragment.id}});
我还有另一个问题,是否可以像上面那样使用angularjs表达式生成JavaScript代码。一些事情(上面的代码是关于)
ng model
将$scope
变量绑定到输入-您的文本区域变为:
{}
用于将角度$scope
变量输出到视图-您不会在JavaScript代码中使用{{}
来获取角度变量,因此{{fragment.id}
无效。如果您想在Angular之外使用Angular$scope
变量(不推荐,但我们都有自己的理由)-使用Angular.elem(elem.scope()
获取scope
的实例(其中elem
是ng控制器
声明中的一个元素)ng click
)不需要{{}
来获取$scope
变量-您的ng click
变成:ng click=“execute(fragment.id)”
谢谢你的回复。您的建议让我重新思考我的设计,并找到了可以用来实现我试图用生成的javascript代码实现的事情的方法。