Angular的$ interpolateProvider只能部分工作

时间:2017-04-16 12:10:23

标签: angularjs

我有一个非常奇怪的问题。我在我的Angular应用程序中使用 $ interpolateProvider ,因为我在Node中传递了一些变量,默认情况下是“{{}}”,所以我将Angular的符号设置为: “{[]}”

见下文:

mainApp.config(function($interpolateProvider) {
  $interpolateProvider.startSymbol('{[');
  $interpolateProvider.endSymbol(']}');
});

现在,除了我的应用程序的一部分外,它无处不在。请参阅以下HTML:

<ul class="nav navbar-nav navbar-right" ng-controller="navBarController">

<li><a href="/profile#/profile">Profile</a></li>
<li>
<notification-icon count="{[notificationsCount]}"><i class="fa fa-envelope-o fa-2x"></i></notification-icon>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown">Settings<strong class="caret"></strong></a>
<ul class="dropdown-menu">
    <li>
        <a href="/profileSettings#">Profile Settings</a>
    </li>
    <li class="divider"></li>
    <li>
        <a href="/logout">Logout</a>
    </li>
</ul>
</li>
{[notificationsCount]}
</ul>

不起作用的位是:

count="{[notificationsCount]}"

最后工作的位是正确的:

{[notificationsCount]}

在浏览器上,我从Angular收到this错误,当我检查该元素时,它是纯文本的,如: {[notificationsCount]} ,并且没有转换为HTML代码的最后一行的数字。

我怀疑这可能是由于我使用的第三方模块,angular-notification-icons,但我无法确定。

我不知道如何继续这个。任何输入都会有所帮助。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您需要在没有{[]}的情况下编写代码不起作用的位置

<notification-icon count="notificationsCount"><i class="fa fa-envelope-o fa-2x"></i></notification-icon>

仔细查看直接使用的https://github.com/jacob-meacham/angular-notification-iconsnotificationsCount中的示例,例如指令属性。