草庐IT

view-model-pattern

全部标签

javascript - 评估点表示法中的字符串以从 View 中的对象获取相应的值

真的希望有人能帮助我解决我最近遇到过几次的问题。假设我在AngularJS中有两个对象。$scope.fields=['info.name','info.category','rate.health']$scope.rows=[{info:{name:"Apple",category:"Fruit"},rate:{health:100,ignored:true}},{info:{name:"Orange",category:"Fruit"},rate:{health:100,ignored:true}},{info:{name:"Snickers",category:"Sweet"},

javascript - VueJS : input with dynamic value + v-model

在设置输入radio和v模型的值时,我遇到了VueJS问题。我不明白为什么我不能为输入动态设置值并使用模型来检索用户选择的输入。在代码中更容易理解:exportdefault{props:["question","currentQuestion"],data(){return{answer:undefined}},computed:{isCurrent(){returnthis.currentQuestion&&this.currentQuestion.id==this.question.id;}},methods:{groupName(question){return'questio

javascript - JavaScript 中的模型- View - Controller

tl;dr:如何以干净的方式在JavaScript中实现MVC?我正在尝试在JavaScript中实现MVC。我无数次用谷歌搜索和重组我的代码,但没有找到合适的解决方案。(代码只是“感觉不对”。)这就是我现在要做的事情。它非常复杂并且使用起来很痛苦(但仍然比我之前的一堆代码要好)。它有丑陋的变通办法,有点违背了MVC的目的。看看,如果你真的很勇敢的话,那真是一团糟://Createa"mainmodel"varmain=Model0();functionModel0(){//Createanassociatedviewandstoreitsmethodsin"view"varview=

javascript - 延迟移除 View ,以便可以对其进行动画处理

假设我有一个显示基于属性的View的模板:{{#ifApp.contentsAreVisible}}{{viewToggleContents}}{{/if}}此区域可通过设置App.set("contentsAreVisible",[true/false]);由UI的任意数量的其他部分切换一切正常。但是,我现在想在切换View时设置动画。连接到didInsertElement可以动画显示该区域,但我不能在willDestroyElement中做同样的事情,因为一旦该函数返回,该元素就会被删除,在动画开始之前一个运行的机会。App.ToggleContents=Ember.View.ex

javascript - 创建一个接受可变数量 View (以及区域)的布局

我的目标我需要创建一个自定义布局(流布局),它可以接收可变数量的View,并根据它们创建必要的区域,并在这些区域内显示传入的View。View可以垂直排列或水平。要求该布局有一个模板,其中最初未定义区域。它只包含一个包装器(data-role="region-wrapper"),添加的区域将在其中呈现。我的方法。1-扩展Marionette.Layout(显然)2-像下面这样重写构造函数constructor:function(options){//callsuperhere...this.viewList=options.viewList||[];this._defineRegion

javascript - 如何使用 ControllerAs 语法手动更新 AngularJS View ?

我正在开发一个带有可排序、可停靠、可float小部件的仪表板。我正在使用的控件之一在结束body标记之前在DOM底部生成float小部件作为HTML。这有效地从窗口控件中生成它们的Controller范围中删除了在窗口控件中完成的操作。我正在使用可用的controllerAs语法开发此仪表板Controller,但我不知道如何在外部组件执行影响数据的操作时使用此语法有效地更新View风景?注意:这不是我面临的唯一一个迫使我手动更新主视图的问题。页面上其他地方也有执行影响View的操作的指令。理想情况下,我永远不必手动更新View,因为我将使用在影响摘要循环的内置Angular命令中发生

javascript - Backbone.js `model.destroy()` 自定义转换?

当我使用Backbone的model.destroy()时,它似乎会自动从DOM中删除该View。有没有办法让我使用destroy()发送DELETE请求,但自己从DOM中删除View?类似于:this.model.destroy({wait:true,success:function(){$('#myElement').animate({"height":"0",1000,function(){$('#myElement').remove()}});}}); 最佳答案 您需要在包含项目View(documentation)的任何C

javascript - 在嵌套的 ng-repeat 中使用带有单选按钮的 ng-model 不起作用

嘿,我正在尝试在ng-repeat中显示单选按钮列表,但它似乎没有接受我在输入中绑定(bind)到ng-model的字段的初始值。当我为ng-repeat提供一个简单的数组时,按钮会正确显示初始值。但是如果出现嵌套的ng-repeat,则只有每个列表的最后一项用一个值初始化这是我的笔:https://codepen.io/alokraop/pen/JXLZBp我不知道我哪里出错了。我确保单选按钮的name属性对于每个组都是唯一的。感谢您的帮助。 最佳答案 这里的问题是您不能将Angular值插入到属性name中。如果我们从HTML中

javascript - 通过渲染函数实现的 v-model 不是响应式(Reactive)的

我正在尝试创建可在输入和文本区域标签之间互换的动态输入组件。我试图通过使用渲染功能来实现这一点。(https://v2.vuejs.org/v2/guide/render-function.html#v-model)。我遇到的问题是v-model只能以一种方式工作,如果我直接更改数据属性,它会更新textarea值,但如果我更改或将新数据输入到textarea中,它不会更新数据属性。有谁知道如何使它双向工作?下面是我的代码笔代码链接,它说明了问题:consttag=Vue.component('dynamic-tag',{name:'dynamic-tag',render(create

javascript - vue 在 v-model 之后执行@click

我有一个状态基于todo.complete的复选框todo.save()将当前的完整值保存到数据库中。但是@click似乎在v-model绑定(bind)更新todo.complete之前被触发我必须这样做才能让它工作:有什么方法可以在v-model更新后执行todo.save()。类似于@click.after 最佳答案 尝试使用change事件代替: 关于javascript-vue在v-model之后执行@click,我们在StackOverflow上找到一个类似的问题: