问题标签 [presenter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gwt - 带有选项 multiple=true 的 mvp4g LazyPresenter 被绑定两次
我在我的 gwt 项目中使用 mvp4g。对于我的一位演示者,我正在使用选项multiple=true
,并且我正在以这种方式创建和绑定演示者:
ObjectPresenter 扩展了 LazyPresenter。
当我从eventBus
被捕获的 中调用第一个事件时,再次调用的ObjectPresenter
方法。bind()
LazyPresenter
bind
方法在树内有其他方法:createPresenter(); view.createView(); bindView();
. 在我通过添加下一个小部件来修改我的视图的bindView
方法中。ObjectPresenter
因为该方法被调用了两次(一次由我直接调用,一次由框架调用)一些小部件被复制。
我已经调试了代码,我发现BaseEventHandler
当调用来自的事件时,这部分代码eventBus
被调用:
直接调用bind
(通过mainObject.bind()
)绑定属性后BaseEventHandler
未设置为true
,因此bind
在调用第一个事件时再次调用方法。
我可以在方法(直接调用)完成时从 to 设置变量,但binded
我不确定这是否是正确的方法......BaseEventHandler
true
ObjectPresenter
bind
你能给我一个提示如何处理这个问题吗?
谢谢你的帮助。
ruby-on-rails - 如何将带有数组的json解析为带有集合的演示者?
我从外部服务JSON收到我的 current_user(通过电子邮件)的培训信息。
我想解析这个 JSON 并将其呈现在我的页面上。所以我想到了主持人。
和
所以现在我可以在我的视图中使用它:
我如何也可以解析 JSON 并将其转换为某个 Object 以便能够像这样使用它:
主持人上帝有办法处理吗?
android - Android MVP - 应该避免在演示者中使用 R.string 引用吗?
为了将 Android SDK 与我的演示者类完全分离,我试图找出避免访问我们通常使用 R 的资源 ID 的最佳方法。我以为我可以创建一个接口来访问字符串资源之类的东西,但我仍然需要 ID 来引用字符串。如果我要做类似...
我仍然必须拥有LABEL_RES_ID
然后将其映射到R.string.label
我的资源桥中。这很酷,因为我可以在用其他东西进行单元测试时将其换掉,但我不想管理另一个到字符串值的映射。
如果我放弃并只使用 R.string 值,我的演示者将再次绑定到我的视图。这不理想吗?人们是否有更简单的解决方案来解决这个问题,以使他们远离演示者。我不想以 Android 提供的方式之外的方式管理字符串,因为我仍然想将它们放入布局文件并获得国际化等好处。我想做一个可以与这个演示者一起工作的愚蠢单元测试无需让 Android SDK 生成 R.java 文件。这要求太多了吗?
ruby-on-rails - 演示者类,在树模型图中
许多演示者都有以下形式
我想横向的实例:
这意味着创建多个演示对象,它们实际上只是开始复制模型。
更好地展示一个真实世界的例子
传入的主要对象是@user,但是,演示者并没有涵盖那么远。我可以创建@comments,但我希望代码更灵活,但前端工程师想要接受它。
其他人如何为演示者处理多个层次?
代码看起来像这样吗?(啊)
-丹尼尔
php - 在 Laravel 的数据透视表中对属性使用演示者
我只是想知道如何为数据透视表中的属性实现 Presenter 模式?例如,考虑这段代码(它只是一个例子,不是我实际代码的复制):
我可以将最终属性呈现方法放在哪里?请记住,我还希望能够使用这种关系的倒数。
非常感谢任何帮助
谢谢!
html - Rails 从演示者方法渲染部分集合
我正忙着观看演示者的 Rail 演员表,并想重构我的一位演示者以包含页面模板。
我正在观看的截屏视频是287-presenters-from-scratch
我已经按照他建议的方式初始化了一个演示者,并在应用程序帮助文件中创建了一个帮助方法..
我试图与演示者一起构建的视图是一个通知模板,它与许多上传的页面共享。
由于您一次可以上传多个文件,我们可能会收到一些通知,或者每种通知中的几个。上传成功和完成上传的数据,而一些损坏的上传可能需要新的导入模板,其他有错误的上传可能需要修复。通过演示者的通知视图如下所示。
主持人举个例子
只有这个被呈现在页面上.. 它没有将其转换为可读的 html,而是作为一个已转换为字符串的数组?
我尝试调用return s.join
,但这只是将数组内部的内容转换为字符串,但这会以相同的方式呈现减去数组符号。
然后如何从演示者呈现部分内容,以便它们在视图中显示为 html?
ruby-on-rails - 添加演示者后,我的控制器中出现未初始化的常量错误
我将此添加到我的控制器中:
然后将此演示者添加到 /app/presenters
在我看来:
但是,运行它时出现此错误:@report = Report.new行的未初始化常量 HtmlreportController::Report
如何对其进行初始化以使其将演示者中的功能识别到我的视图中?
php - 在 Laravel 5 中使用演示者
我看过关于演示者的 Laracasts 视频,我想在我的项目中使用它们。
我有一个显示用户活动日志的页面。在 foreach 循环中,我显示“活动”模型。活动使用多态关系,所以根据活动类型我需要显示不同类型的内容。例如,用户可以发送电子邮件、添加任务、创建某些内容、删除某些内容等。
根据操作,我应该显示不同的图标,不同的内容本身(一些活动可能包含链接,一些可能包含其他内容)。
当我观看和阅读演示者的示例时,我意识到它们都非常简单,并且使用了诸如ucfirst
日期格式之类的东西。但是,我应该在我的演示者中加入大量 HTML 逻辑吗?例如,由于我对不同的操作有不同的图标,所以我放置了大开关,它返回<i>
带有适当图标类的标签。然后,当显示操作的描述时,我也会切换并返回一些 html,比如链接,甚至可能是<audio>
标签。
另外,在演示者中使用 HTML 也不方便,但同时我想保持视图干净,这样我就可以输出$activity->presenter()->description
而不是很多@if
运算符。
演示者方法的示例:
ruby-on-rails - 在 Rails 查询中结合 Presenters 和 #includes
假设我的 Rails4 应用程序中有以下设置:
一个学生has_many
学位,一个学生学位belongs_to
。我也有对应于这两个模型的 StudentPresenter 和 DegreePresenter。(此处定义的演示者)
我想查询以下内容:
但我想访问 Student 和 Degree 的 Presenter 方法。
如何使用 Presenter 预加载数据?
导轨 4.1.5
android - 模型视图演示者 - 相同的视图,不同的演示者
我正在使用 MVP 构建一个 Android 应用程序,我对这种模式有一个疑问。
假设我有一个用于创建新人的屏幕。此屏幕将显示一个EditText
用于插入姓名、另一个用于姓氏、一个ImageView
用于显示选择的照片图片等。这将导致一个View
界面,由Fragment
. 它将与一个Presenter
接口合作,由另一个类实现。
美好的。
现在我有了另一个功能:用于编辑现有人员的屏幕。碰巧的是View
,此功能与创建新人的功能相同。但是,Presenter
情况不同。它将首先从数据库加载现有人员以使用当前数据预填充视图,并且单击“保存”时对数据库的操作将是更新而不是插入。
所以,我认为这是 MVP 的一个例子,其中一个 View 与 Presenter 的不同实现一起工作以实现不同的用例。
你认为这是一个正确的假设,还是你认为不同的特性应该有不同的
View
和Presenter
接口?另外,如果您使用 common
View
和 differentPresenters
,那么实现View
是通用的,还是会导致两个类实现相同的接口?在实践中,我看到了两种选择。只有一个
Fragment
实现View
. 根据用户是要创建新人还是更新现有人,Fragment 应该接收并使用不同的 Presenter。有两个
Fragment
s。每一个都会实例化一个不同的Presenter
. 使用组合或继承来避免两个片段之间的代码复制。
在这些情况下,您认为怎样做比较好?
谢谢。