Javascript 如何结合使用translate和ng bind html生成ui sref链接
我有点困惑于如何从翻译的字符串生成一个有效的Javascript 如何结合使用translate和ng bind html生成ui sref链接,javascript,angularjs,angular-translate,Javascript,Angularjs,Angular Translate,我有点困惑于如何从翻译的字符串生成一个有效的ui-sref链接 我用的是angular 1.4.9 带角度平移2.9.0 这是相关代码 <div ng-bind-html="$scope.getTranslatedText(someObject)"></div> controller { function(value) { this.$translate.isPostCompilingEnabled(); // Returns true
ui-sref
链接
我用的是angular 1.4.9
带角度平移2.9.0
这是相关代码
<div ng-bind-html="$scope.getTranslatedText(someObject)"></div>
controller {
function(value) {
this.$translate.isPostCompilingEnabled(); // Returns true
return this.$translate.instant("taskNames."+value.parameters['messageId'], value.parameters);
}
}
My translation has the following string.
taskInstructions{
someMessageId: "Here is some text <a ui-sref=\"goSomewhere\">Some more text</a>"
}
控制器{
函数(值){
此.$translate.isPostCompilengEnabled();//返回true
返回此.$translate.instant(“taskNames.+value.parameters['messageId'],value.parameters);
}
}
我的翻译有以下字符串。
任务说明{
someMessageId:“这里有一些文本,还有一些文本”
}
我的翻译按预期返回文本,如果我没有ng bind html
ui sref,但一旦我添加ng bind html
ui sref,ui sref就会消失。我试过编译,但似乎不起作用,尽管我不确定是否正确使用了它
我在翻译输出上尝试了$sce.trustAsHtml
,结果ui sref
显示在html输出中,但实际上它没有链接到任何地方。我觉得我在某个地方遗漏了一些步骤,但我似乎不知道angular希望我做什么才能让ui sref正常工作
有没有什么好的方法可以让它发挥作用?不使用translate,但这可能会有所帮助。我们使用
$sce
和$state
:
HTML
<section class="adb-layout-row" ng-repeat="post in vm.posts">
<div class="adb-layout-default">
<h5><a ng-click="vm.open(post)">{{ post.title }}</a></h5>
<div ng-bind-html="post.html"></div>
</div>
</section>
不使用翻译,但这可能会有所帮助。我们使用
$sce
和$state
:
HTML
<section class="adb-layout-row" ng-repeat="post in vm.posts">
<div class="adb-layout-default">
<h5><a ng-click="vm.open(post)">{{ post.title }}</a></h5>
<div ng-bind-html="post.html"></div>
</div>
</section>
首先,为什么需要
ng bind html
?它通常只用于显示用户提交的内容,不编译方向不确定我是否需要ng bind html
,当我试图使链接正常工作时,最初使用的是ng bind html
,现在可能只是转移视线,但我不确定正确的步骤是什么。如果我只是尝试翻译,我只会返回文本,因此没有正常工作的html。如果你想输出一个动态锚标记,那么是的,你必须使用ng bind html
,但是你必须告诉angular,首先使用$sce.trustAsHtml()
也ng bind html=“getTranslatedText(someObject)”
,可以使用它,您不需要$scope
为什么首先需要ng bind html
?它通常只用于显示用户提交的内容,不编译方向不确定我是否需要ng bind html
,当我试图使链接正常工作时,最初使用的是ng bind html
,现在可能只是转移视线,但我不确定正确的步骤是什么。如果我只是尝试翻译,我只会返回文本,因此没有正常工作的html。如果你想输出一个动态锚标记,那么是的,你必须使用ng bind html
,但是你必须告诉angular,首先使用$sce.trustAsHtml()
也ng bind html=“getTranslatedText(someObject)”
,可以使用它,您不需要$scope