我正在构建一个涉及3种语言的简单Web应用程序,我想使用选定语言的部分html文件动态更改文本块中的内容;基于我所研究的内容,对于我来说,从w3schools设置ng-view功能似乎并不太困难: ng-routing - w3schools
我想要达到的目标可能非常简单,但我无法理解它,我会尝试使用我从w3schools获取的相同代码块来代表我的想法(下一个代码当然不行,但我希望它可以解释我的想法):
strtok()
我希望我的问题不会太混乱,我做了关于$ resolve和$ route回调的研究,但我无法弄明白,我感谢任何帮助。
答案 0 :(得分:0)
可以使用ngInclude
指令在控制器中配置此逻辑:
<强>控制器:强>
app.module("myApp")
.controller("myController",
function() {
var self = this;
self.lang = "(dynamic value)";
self.templatePath = "";
if (lang === "es") {
self.templatePath = "(es path here)";
} else if (lang === "ja") {
self.templatePath = "(ja path here)";
} else {
self.templatePath = "(en path here)";
}
});
查看:强>
<div ng-controller="myController as myCtrl">
<div ng-include="myCtrl.templatePath"></div>
</div>
这也可以通过$routeProvider
templateUrl
作为函数来完成,例如:
app.config(function($routeProvider) {
$routeProvider.
when('/:lang/somePage', {
templateUrl: function(urlAttr) {
if (urlAttr.lang === "es") {
return "/pathForEs";
} else if (urlAttr.lang === "ja") {
return "/pathForJa";
} else {
return "/pathForEn";
}
},
controller: "somePageController"
}).
otherwise({
routeTo: "/",
});
});