草庐IT

词元化模型

全部标签

javascript - backbone.js:将属性设置为现有值时触发的模型事件?

在backbone.js中,我注意到Model上的change和all事件不会触发,如果你将模型的属性设置为其现有属性。例如,如果我设置了以下事件:ActiveUser.bind('change',this.displayActiveUser,this);ActiveUser.bind('all',this.displayActiveUserAll,this);然后我手动将ActiveUser的值设置为空字符串:ActiveUser.set({text:''});当且仅当ActiveUser.text尚未设置为空字符串时,事件才会触发。这是合理的行为。但是,有没有我可以使用的事件,即使

javascript - Backbone.js: 将 View 、集合、模型分离到不同的js文件中,它们不能相互识别

我用Backbone.js创建了一个web应用,所有的View、集合和模型都写到一个js文件中,成功了!现在我想将它们分离到不同的js文件中,就像:并在jqueryload中加载模型代码:$(function(){//ModelvarmanageModel=Backbone.Model.extend({default:{'selectedId':'unknow'},selectLayer:function(uuid){this.set({"selectedId":uuid});},delLayer:function(){}});})但是Firebug告诉我错误:manageModeli

javascript - Ember.js – 将来自 #each 循环的按钮操作绑定(bind)到它自己的模型

我似乎无法获得在#each模板循环中生成的按钮,以将其点击操作绑定(bind)到其关联模型。这是问题的快速演示...Ember.js应用设置:window.Contacts=Ember.Application.create();Contacts.Person=Ember.Object.extend({first:'',last:'',save:function(){//sendupdatedinformationtoserver.}});Contacts.contactsList=Ember.ArrayController.create({content:[],init:functio

javascript - AngularJS:模型不在 Controller 范围内更新

我有以下Controller:app.controller('MyCtrl',function($interval,$scope){$scope.foo=2;$interval(function(){console.log($scope.foo);},1000);});在我看来下面的代码:当我加载页面时,输入被正确填充为值“2”。但是,如果我更改输入中的值,控制台会继续记录“2”(不带引号)。我使用$interval只是为了说明-使用$watch()回调只会触发一次,然后再也不会触发。如果我在输入上使用ng-change="",则回调中的$scope.foo始终等于2。我做错了什么?

javascript - 我的心智模型错了吗?如果使用 https 调用页面,则将使用 https 调用相对 css 路径

Ifyourpagegetscalledusinghttpsprotocol,anyrelativepathtoanexternalcsswillbecalledusinghttpsprotocolaswell.Areyoureallyneedtoencrypt/decryptcsscontents?:DHowever,ifyouuseabsolutepathreferringtoanexternalcss,youcanspecifytheprotocoltouse,generallyhttpratherthanhttps.MaybeIamwrong!请让我知道我的心智模型是否完全错误

javascript - backbone.js/从模型访问 View

如何从backbone.js中的模型访问View。我很乐意在model.change()上重新渲染View。 最佳答案 向模型的属性添加View是一个禁忌。为什么您需要在模型发生变化时访问View?在您看来,只需绑定(bind):this.model.bind('change',this.modelChanged,this)//(event,function,context)从现在开始,当您的模型发生变化时,您View的modelChanged方法将被自动调用。版本>0.9,在View中正确的语法将是这样的。this.model.o

javascript - 如何从集合中获取模型

我有下一个脚本:varGame=Backbone.Model.extend({});varGamesCollection=Backbone.Collection.extend({model:Game});vargames=newGamesCollection();varportal=newGame({name:'Tetris',year:'2017'});games.add(portal);console.log(games.get(0));为什么“games.get(0)”返回“undefined”?可能是我使用get方法的方式不正确? 最佳答案

javascript - angular.js - 通过参数将模型中的值修改为函数

我有以下看法:ModifyController中的这个方法:$scope.modify=function(value){value=value+"andthistext";};但是,modify方法不执行任何操作。我想做的是创建一个函数,可以通过参数修改模型中的对象。我的意思是,函数x通过参数接收对象,并且在该函数内部,可以修改该对象(来自模型)。我怎样才能做到这一点?参见thisfiddle供引用。 最佳答案 已经晚了,所以我可能会错过明显的,但是......由于您传递的是字符串,因此它是按值而不是引用传递的。所以我更改了您的ng

jquery - backbone.js 应用程序范围的功能,不依赖于特定的 Controller /模型

我正在使用backbone-boilerplate,你可以找到它here.我想知道如何添加全局功能,它没有明确绑定(bind)到任何特定的集合、模型、View等。一个例子是“注销”功能,它可能看起来像这样:varlogout=function(){//ClearFavorites//Handleasynchronouslogging(allin-applogsaresenttotheserveratlogout)//Redirecttotheloginpage//Doothercleanup}基本上,这将处理许多模型/集合,包括Favorites、Events、Logs、Users、和

javascript - Backbone collection.create() 不返回更新后的模型

为了学习主干,我正在创建一个类似Twitter的应用程序。所以你知道Twitter每N秒向服务器发送一个GET请求来检查新推文。如果有新推文,它会创建隐藏的li元素并显示带有“NnewTweets”的按钮。如果您单击它,它会显示隐藏的li元素,显示新推文。但是当您添加一条新推文时,行为会有所不同:推文是可见的。您无需单击按钮即可看到它。我已经为隐藏的推文制作了第一部分。对于发布新推文并直接展示它的部分,我认为通过创建新模型、调用collection.create()并触发正确的事件会很容易做到,例如:varnewTweet=newTweet();newTweet.set(/*setth