我试图翻译项目oppia.org
代码(angularJs,在模板中)有一些东西 - <[stateName]>
,我不明白它的构造<[]>
。这是变量吗?还是指令?它是一个范围?它的价值在哪里?
代码:
<h4 ng-if="!stateNameEditorIsShown" ng-click="openStateNameEditor()" class="oppia-editable-section">
<[stateName]>
<span ng-if="editabilityService.isEditable()" class="glyphicon glyphicon-pencil oppia-editor-pencil" title="Edit State Name"></span>
</h4>
答案 0 :(得分:1)
由于jinja2和angularjs都希望使用{{
和}}
进行插值,因此其中一个必须给出。从这个例子中不清楚是否是angularjs或jinja2。如果您浏览正在翻译的代码,并找到类似
$interpolateProvider.startSymbol('<[');
$interpolateProvider.endSymbol(']>');
然后是使用替代绑定标记的angularjs代码。
编辑添加:
请参阅 https://code.google.com/p/oppia/source/browse/core/templates/dev/head/app.js第38-39行。这就是angularjs被配置为使用替代绑定标记的地方。
答案 1 :(得分:0)
我找到了! 在文件feconf.py中:
DEFAULT_INIT_STATE_NAME = 'First Stage'
答案 2 :(得分:0)
都不是。这是您的oppia.org代码已配置使用的替代插值标记。我猜你的一个程序员不喜欢默认的{{...}}
胡子语法,而是用<[...]>
代替。该值将来自与标准{{...}}
标记相同的位置。
在您的代码中找到它,这将更有意义:
oppia.config([ "$interpolateProvider","$httpProvider",
function(a,b){
a.startSymbol("<[");
a.endSymbol("]>");
... ... ...
$interpolateProvider
https://docs.angularjs.org/api/ng/provider/ $ interpolateProvider上的API文档
希望这会有所帮助。