AngularJS自定义分隔符

65

我该如何在Angular JS中使用自定义定界符(delimiter)?我想要将语法从{{ var }}更改为[[ var ]]

有人能展示一个完整的实现示例吗?

1个回答

106

您可以使用$interpolateProvider更改用于AngularJS表达式的开始/结束符号:

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

然后,在你的模板中:

Hello, [[name]]

这是可以运行的jsFiddle: http://jsfiddle.net/Bvc62/3/

在这里查看$interpolate服务的文档: http://docs.angularjs.org/api/ng.$interpolate


1
尝试过了,但我的应用程序仍然无法正常工作,Angular 仍在寻找 {{ }} 括号。 - Azri Jamil
5
你能否尝试将你的Web应用程序设置与我发送的fiddle进行比较?正如你在fiddle中所看到的那样,响应是正常的。请注意模块初始化周围的代码。你是否像在jsfiddle中一样指定了ng-app="myApp"? - pkozlowski.opensource
3
有人知道社区更喜欢看到哪个“官方”的回退startSymbolendSymbol吗? - yurisich
1
现在您可以将起始和结束符号放在同一行中。像这样 --> $interpolateProvider.startSymbol('[[').endSymbol(']]'); - MiniGunnR
对我来说也不起作用,我正在使用laravel 5和angular 1.3.0,HTML只是将[[variable]]呈现为它本身。 - Kundan Atre
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接