Ember.js-处理属性转换的正确方法是什么?

时间:2018-09-22 14:45:12

标签: ember.js handlebars.js translation

我有一个带有 var RetrofitClient : RetrofitClient = RetrofitClient() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) loginBtn.setOnClickListener { val user = userTxt.text.toString() val pass = passTxt.text.toString() if (validateLogin(user, pass)){ login(user, pass) } } } fun validateLogin(user: String, pass: String): Boolean { if (user == null || user.trim().isEmpty()){ Toast.makeText(this, "Missing Username or Password", Toast.LENGTH_SHORT).show() return false } if (pass == null || pass.trim().isEmpty()){ Toast.makeText(this, "Missing Username or Password", Toast.LENGTH_SHORT).show() return false } return true } fun login(user: String, pass: String) { RetrofitClient.login(user, pass) val apiLogin = RetrofitClient.providesGetLogin().getAccessToken() apiLogin.enqueue(object : Callback<LoginResponse> { override fun onResponse(call: Call<LoginResponse>, response: Response<LoginResponse>) { if(response.isSuccessful){ if(response.body()?.code == 0){ Toast.makeText(this@LoginActivity, "Login Successful!", Toast.LENGTH_SHORT).show() val intent = Intent(this@LoginActivity, List_usersActivity::class.java) startActivity(intent) } else { Toast.makeText(this@LoginActivity, "Login Failed.", Toast.LENGTH_SHORT).show() } } } override fun onFailure(call: Call<LoginResponse>, t: Throwable) { Toast.makeText(this@LoginActivity, "Login Failed.", Toast.LENGTH_SHORT).show() } }) } } 属性的模型,可以是“女性”或“男性”。

处理该属性的最佳方法是什么?

我想到了解决此问题的一些方法,但是不确定我是否对此过于思索或解决不佳。

1)制作一个帮助程序或无标签组件来接收该值,并注入翻译服务并进行翻译。带有附加标志以大写或小写输出。

2)只需使用gender助手和t 作为翻译密钥,例如:concat。这很简单,我将在所有地方复制粘贴,看起来很乱。

3)模型中的计算属性。我觉得在模型中注入翻译服务是错误的(只是我的印象,如果这是我擅长的正确方法)

4)组件中的计算属性,其中必须显示性别。就像选项2一样,但是在组件而不是模板中,将大量复制粘贴。

0 个答案:

没有答案
相关问题