【发布时间】:2016-12-20 16:54:50
【问题描述】:
我正在构建一个涉及 3 种语言的简单 Web 应用程序,我想使用所选语言的部分 html 文件动态更改文本块中的内容;根据我的研究,从 w3schools 设置 ng-view 功能对我来说似乎并不难: ng-routing - w3schools
我想要实现的目标可能很简单,但我无法理解它,我将尝试使用从 w3schools 获取的相同代码块来表达我的想法(下一个代码当然行不通,但我希望它可以解释我的想法):
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
// declare variable to evaluate
var lang = "(dynamic value)"; // this value will be set dynamically.
$routeProvider
// condition if variable value is "es"
if (lang == "es") {
.when("/es", {
templateUrl : "es.htm"
})
}
// else if , load the other language
else if (lang == "ja") {
.when("/ja", {
templateUrl : "ja.htm"
})
}
// if the value is none of above, then load the "default" one
else {
.when("/en", {
templateUrl : "en.htm"
});
}
});
我希望我的问题不会太令人困惑,我对 $resolve 和 $route 回调进行了研究,但我无法弄清楚它们,感谢任何帮助。
【问题讨论】:
-
路由是否需要在 app.config 中设置,或者这个逻辑可以稍后在控制器中完成?
-
@stevenelberger 不,可以稍后在控制器中完成,这个条件只会在加载时检查,用户第一次进入网站时,之后就没有必要了。
标签: javascript jquery angularjs model-view-controller routing