node.js - Angular.js 可以在脚本标签中的 Jade 模板中进行插值吗?

标签 node.js express angularjs pug

我正在使用 Angular 和 Jade 模板,并且模板中有一些 JavaScript:

script(type='text/javascript')
    console.log('{{name}}');

在我的 Angular Controller 中,我执行如下操作:

$scope.name = "Bhoutrous";

只要 {{name}} 不在脚本标记下,我就可以在模板中的其他任何位置正确插入。对我来说,Angular 会抛出“SyntaxError:无效的属性 id”错误。我想知道这是 Jade 的问题还是有解决方法。我需要在页面加载时将“name”变量的内容传递给 js 函数。

更新

我知道它可以与常规模板一起使用。下面的例子的 fiddle :http://jsfiddle.net/atentaten/mnscA/

有人有使用 Jade 做类似事情的经验吗?

HTML:

<div ng-controller="UserCtrl">
    <p>{{data}}</p>
    <div id="dat"></div>

    <script type="text/javascript">
       function doit(text){
          var el = document.getElementById("dat");
           el.innerHTML = text;
       }

      doit( '{{data}}' );  
    </script>
</div>

JS:

var app=angular.module('myApp', []);

function UserCtrl($scope) {
        $scope.data = "Green Applese";

};

最佳答案

Angular 在 DOM 元素中进行插值。脚本标签的内容和其他随机字符串不会被插入。您可以在 Angular 应用程序生命周期之外访问 Angular 服务,包括 $interpolate 服务; I answered a question much like this yesterday 。但是,就像在那个答案中一样,我认为这并不是使用 Angular 编写应用程序的好方法。

关于node.js - Angular.js 可以在脚本标签中的 Jade 模板中进行插值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804206/

相关文章:

memory - NodeJS 0.3.1 应用程序泄漏内存

node.js - Firebase + gcloud 存储 + Nodejs。访问被拒绝错误

javascript - 异步等待在express.js和mysql.js中没有响应

javascript - 在nodejs中将异步结果添加到数组

javascript - 将可变长度数组传递给函数 Node JS

javascript - 如何阻止 Express.js 在浏览器中下载文件?

reactjs - Windows 10/Ubuntu 上的 React 热模块替换

javascript - ng-init 没有按预期工作

javascript - 如何在用户运行我们的应用程序时获取设备详细信息?

javascript - Angular Controller 未定义