小编mza*_*fer的帖子

在骨干js中的只读视图和编辑视图之间切换

我正在寻找Backbone js中的模式来在readonly和edit视图之间切换.如果视图的触发器在视图外部,那么没问题我可以创建适当的视图(只读或编辑)并渲染它,但在我的情况下,编辑视图的触发器将在只读视图内.

例如,假设我正在显示处方,默认情况下它处于只读模式,并且在悬停时会显示编辑图标.点击此编辑图标,现在应该用编辑视图替换只读视图.什么是实现这一目标的最佳方法.以下是我正在考虑的几个选项

  1. 拥有一个PrescriptionView,其中包含编辑图标和编辑模式所需的所有表单字段.它还具有基于编辑触发器将视图从只读模式更改为编辑模式的逻辑.
  2. 有两个视图PrescriptionReadView和PrescriptionEditView.ReadView将具有编辑图标并onclick用editview替换readview.

我倾向于#2但不确定如何以优雅的方式实现它.对此有任何想法都会有所帮助.

谢谢Zafer

backbone.js

8
推荐指数
1
解决办法
2581
查看次数

在骨干js中重新创建已删除的视图

骨干js中的View.remove()函数从DOM中删除视图本身的容器元素,防止重新创建已删除的视图.知道如何处理这种情况

这是我的代码,

var AttributeView = Backbone.View.extend({
        el: $("#attrs"),
        template:_.template($('#attrs-template').html()),

        initialize:function() {
        },


        render:function (eventName) {
            $(this.el).html(this.template(this.model.toJSON()));
            return this;
            },

        dispose:function(eventName){
            this.unbind();
            this.remove();
        },

    });


var attrView = new AttributeView();
....
attrView.dispose();
//Later on some event I do the below
attrView = new AttributeView()
attrView.render();
Run Code Online (Sandbox Code Playgroud)

上面的最后两行不会重新创建视图,因为id ="attrs"的div不再存在.

javascript backbone.js

8
推荐指数
1
解决办法
4423
查看次数

ReactNavigation:如何在不可见时避免屏幕重新渲染

我注意到所有屏幕在我浏览应用程序时都被重新渲染,即使它们不活动(可见)。唯一的例外是 TabNavigator 中 LazyLoad 设置为 true 的屏幕。如果是,我如何抑制渲染 i 并仅在可见时触发渲染

react-native react-navigation

6
推荐指数
1
解决办法
1824
查看次数