角度标记内的角度模板

时间:2016-04-04 16:16:44

标签: javascript angularjs

有没有办法强制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', []);

基本上我希望能够在未绑定到应用程序的基本功能中使用角度变量,即使调用该功能的脚本标记位于应用程序中。我知道这不是最好的做法,但我认为这是解决我问题的唯一方法。还欢迎任何其他解决方案。谢谢!

Fiddle for playing

1 个答案:

答案 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/