angularjs渲染代码我不想要的

时间:2015-08-18 08:52:02

标签: ruby-on-rails angularjs turbolinks

我有一个页面:

<html>
  <head>
    <script type="text/javascript" src="angular.min.js"></script>
  </head>

  <body>
    {{hello}}
    <script type="text/javascript">

      var siteApp = angular.module('siteApp',[])
      angular.bootstrap(document.body, ['siteApp'])
    </script>
  </body>
</html>

当我运行页面时,我什么也看不见,因为角度呈现{{hello}},但我只是想看{{hello}}我怎么能意识到这一点?我无法使用<html ng-app="siteApp">,因为我使用了turbolinks

1 个答案:

答案 0 :(得分:2)

像这样使用bootstrap

angular.element(document).ready(function() {
    angular.bootstrap(document, ['siteApp']);
});

angular.element(document.body).ready(function() {
    angular.bootstrap(document.body, ['siteApp']);
});

这是一个DEMO

并注意您尝试插入{{ hello }}这将搜索范围内的hello变量,因为没有名为hello的范围变量,它将不会打印任何内容,以检查是否有角度设置正确使用{{ "hello" }}这将打印你好,因为我们正在尝试打印一个不是变量值的字符串。

<强>更新

您可以更改插值分隔符来执行此操作

EX:

var siteApp = angular.module('siteApp', [], function($interpolateProvider) {
    $interpolateProvider.startSymbol('[[');
    $interpolateProvider.endSymbol(']]');
});

DEMO

在一个地方使用

有一个名为ng-non-bindable

的角度内置指令

此指令将为您执行此操作:)

<pre ng-non-bindable>{{hello}}</pre>

这是一个DEMO