在脚本标记内使用Angular.js表达式:是否可以或者我应该使用指令?

时间:2013-08-05 16:10:20

标签: angularjs disqus

我正在建立一个非常基本的应用程序/网站来列出活动,并在每个单独的活动页面上将Discus作为评论平台。我可以通过标准设置让Discus加载得很好,但是想使用Discuss附带的(稍微)更高级的脚本设置来确保每个评论帖子都在正确的位置并跟踪正确的事情。

我的问题是让Angulars {{}}表达式在脚本标记内解析 - 它们目前还没有。有没有办法轻松解决这个问题,还是应该停止懒惰并构建一些专用的幕后逻辑来处理显示铁饼?

以下是无效的代码:

<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'thesgcespartylist'; // required: replace example with your forum shortname
        var disqus_identifier = '{{theID}}';
        var disqus_title = 'S&G CES 2014 Party List: {{party.Title}}';

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
</script>

相关网页为http://cespartylist.stuntandgimmicks.com/index.html#/party/best-party-1

谢谢!

1 个答案:

答案 0 :(得分:2)

听起来你可以使用$ interpolate。来自他们的网站:

var $interpolate = ...; // injected
var exp = $interpolate('Hello {{name}}!');
var output = exp({name:'Angular'});

在此处阅读更多内容:http://docs.angularjs.org/api/ng.$interpolate