页面的独立视图或不同方法?

时间:2014-02-21 20:51:46

标签: backbone.js

我有一个应用程序,使用Backbone的独特之处是一个突出显示用户所在位置的导航器。我的意思是,引导他找到自己是一个“面包屑”。

但是现在,我正在实施国际化,我需要确定用户正在导航的语言 - 我也会使用Backbone来实现。

到现在为止,我的观点是:

var breadcrumbView = new BreadcrumbView({
    scope: '#{@scope}'
});

然后我问:最好只为国际化时尚创建另一个视图,或者正确的做法是将这两个资源聚合成HomeView? E.g。

var home = new HomeView;
home.Breadcrumb.create('#{@scope}');
home.Internationalization.create();

1 个答案:

答案 0 :(得分:0)

我找到了正确的解决方案。我们走吧?

了解真正的问题

我的问题中“国际化”的含义是指突出显示用户使用的语言。我们假设“当前”语言是en-US,然后我们在语言菜单中突出显示它。

提取解决方案

首先,我在维基百科上搜索了关于观点的以下解释:

  

控制器告知视图向用户生成输出表示所需的所有信息。它还可以提供通用机制来通知控制器用户输入。

     

Source

其次,我知道internationalizationbreadcrumbs是我观点的组成部分。 我的观点。你看?这两个“特征”不是它们自己的观点 - 它们只是组成它的组件。

实施解决方案

根据我们获得的知识,很容易说国际化面包屑应该是我HomeView的方法。

将其翻译成代码,这是正确的做法:

var home = new HomeView;
home.Breadcrumb.create('#{@scope}');
home.Internationalization.create();