有没有办法强制Angular识别脚本标记内带变量的表达式?由于我无法控制的原因,这就是我必须运行的方式。
<div ng-app="testApp">
<input type="text" ng-model="testvar" />
<input type="button" onclick="clickFn()" value="Test" />
<script type="text/javascript">
window.clickFn = function() {
console.log('{{testvar}}');
}
</script>
</div>
只需一个基本的应用调用
var app = angular.module('testApp', []);
基本上我希望能够在未绑定到应用程序的基本功能中使用角度变量,即使调用该功能的脚本标记位于应用程序中。我知道这不是最好的做法,但我认为这是解决我问题的唯一方法。还欢迎任何其他解决方案。谢谢!
答案 0 :(得分:0)
If we are going to hell, why not do it in style?
<div ng-app="testApp">
<input type="text" ng-model="testvar" />
<input type="button" onclick="clickFn()" value="Test" />
<p id="testvar" style="display:none">
{{testvar}}
</p>
<script type="text/javascript">
window.clickFn = function() {
console.log(document.getElementById("testvar").innerHTML);
}
</script>
</div>
Bind that variable to the DOM, and then shamelessly read in the textContent
or innerHTML
depending on target browser.
Here is your fiddle back: https://jsfiddle.net/8kpfu42w/2/