小编San*_*der的帖子

Backbone.js从它的initialize方法中获取集合

有人为我们建立一个应用程序,为我提供了代码,所以我可以通过它,我注意到这一点,起初看起来还不错,甚至很高兴让收集管理他的数据,但过了一段时间我开始考虑可能的陷阱在这个想法

所以:从它自己的初始化方法中获取集合的数据是一种好习惯.

例如:

var Book = Backbone.Model.extend({});

var Books = Backbone.Collection.extend({

    url: '/books',

    initialize: function(){
        // do some logic here

        // if collection is empty, fetch from server
        if(this.size() == 0)
            this.fetch();
    }

});
Run Code Online (Sandbox Code Playgroud)

我问这个是因为我认为在下列情况下可能会出现问题:

假设我们在routeAction中:

books: function() {
    var books = new Books();
    var bookList = new BookList({ collection: books });
}
Run Code Online (Sandbox Code Playgroud)

是不是这种情况可能失败,如果获取速度比视图初始化速度快,视图会绑定到重置事件,重置会在视图初始化执行之前触发?

我错了,或者我应该提交一张票来解决这个问题.

javascript backbone.js

14
推荐指数
1
解决办法
1万
查看次数

jquery datatables:点击按钮后更新表格单元格

我们的页面中有一个表格,最后有几行和一个自定义切换按钮.该表是通过页面中的html加载的,而不是通过json加载的.

现在,最后的togglebutton发布到服务并在数据库中设置该记录的跟随状态.

但是,它还应该更新该行中的另一个单元格.但是我确定我不应该通过jquery手动但通过数据表来做到这一点?

$('#tblFollow').dataTable({
    sDom: "t",
    aoColumns: [
      null,
      null,
      null,
      { bSortable: false }
    ]
});

$('#tblFollow').on('click', 'a.follow', function(e){
    $(this).toggleClass('active');

    // updating column 'following' here... 
    // but this only changes visually, and not the inner datatables data used for sorting
    var followingCell = $(this).parents('td').prev();
    var txt = followingCell.text() == "1" ? "0" : "1";
    followingCell.text(txt);

    return false;
});
Run Code Online (Sandbox Code Playgroud)

手动示例: 现在我有一个示例,我手动更改字段,但这只是可视的,数据表仍然使用其内部数据进行排序.所以我正在寻找一种更好的方法

sorting jquery datatables

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

Backbone.js:如何在模型删除时从事件中取消绑定

在骨干网中,我们有一个使用事件聚合器的应用程序,位于window.App.Events 现在,在许多视图中,我们绑定到该聚合器,我手动在视图上编写了一个destroy函数,该函数处理来自该事件聚合器的解除绑定,然后删除视图.(而不是直接删除视图).

现在,某些模型我们也需要这个功能,但我无法弄清楚如何解决它.

某些模型需要绑定到某些事件,但也许我错了,但如果我们从集合中删除一个模型,由于这些绑定到仍然存在的事件聚合器,它会保留在内存中.

模型上没有真正的删除功能,就像视图一样.那我怎么解决这个问题呢?

编辑 请求,一些代码示例.

App = {
    Events: _.extend({}, Backbone.Events)
};

var User = Backbone.Model.extend({

    initialize: function(){
        _.bindAll(this, 'hide');
        App.Events.bind('burglar-enters-the-building', this.hide);
    },

    hide: function(burglarName){
        this.set({'isHidden': true});
        console.warn("%s is hiding... because %s entered the house", this.get('name'), burglarName);
    }

});

var Users = Backbone.Collection.extend({

    model: User

});

var House = Backbone.Model.extend({

    initialize: function(){
        this.set({'inhabitants': new Users()});
    },

    evacuate: function(){
        this.get('inhabitants').reset();
    }

});



$(function(){

    var myHouse = new House({});

    myHouse.get('inhabitants').reset([{id: 1, name: 'John'}, {id: 1, name: 'Jane'}]);

    console.log('currently living …
Run Code Online (Sandbox Code Playgroud)

javascript events event-handling backbone.js

7
推荐指数
1
解决办法
1万
查看次数

通过ng-include渲染字符串模板

我正在尝试渲染一段html,在动态路由上可用,路由是通过$http.get()调用获取的,它返回一段html,

举一个例子,我尝试加载这个html部分:

<h1>{{ pagetitle }}</h1>
this is a simple page example
Run Code Online (Sandbox Code Playgroud)

我做了一个小小提琴,来模拟问题,但为了简单起见,我把http调出了,只是在范围内的字符串中添加了html.

控制器是:

function Ctrl($scope) {
    $scope.data = {
        view: "<h1>whaaaaa</h1>"        
    }; 
}
Run Code Online (Sandbox Code Playgroud)

页面html是这样的:

<div ng-app="">
  <div ng-controller="Ctrl">
    <div ng-include src="data.view"></div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是它不会将字符串添加到html文件(ng-include)中,但是它会对由该字符串构成的URL进行http调用.

那么不可能只是在包含中输入一个字符串吗?如果没有,对动态URL进行http调用的正确方法是什么,并将返回的url输入到页面中.

你可以在JSFiddle中玩它.

angularjs

6
推荐指数
3
解决办法
2万
查看次数

在/ admin /找不到Django Admin'页面

我在settings.py和urls.py中取消注释了管理区域.但管理员不会加载/ admin /.如果我将网址更改为/ admin/auth /然后我可以登录管理面板,但如果我尝试转到/ admin /它仍然无法找到该页面.

这是我的settings.py:

 INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.admin',
    'src',
    'lib.tagging',
    'lib.markdown',
    'lib.avatar',

    # Uncomment the next line to enable admin documentation:
    #'django.contrib.admindocs',
)
Run Code Online (Sandbox Code Playgroud)

URLs.py

from django.conf.urls.defaults import *
from django.conf import settings
from src import views
from src.models import Want
from lib.tagging.models import Tag

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()


want_info_dict = {
  'queryset': Want.objects.all(),
  'date_field': 'pub_date',
}

urlpatterns = patterns('django.views.generic.simple',
    url(r'^about/$', …
Run Code Online (Sandbox Code Playgroud)

django django-admin django-views

5
推荐指数
1
解决办法
3093
查看次数

AngularJS:将用户重定向到不同的视图,无论他是否登录

目前有一个小应用程序

  • 登录视图 '/login'
  • 主页视图 '/home'
  • 登录主页视图 '/dashboard'

当用户登录后导航到主页时,我想向他显示登录主页.我试图给一个redirectUrl$routeProvider.如果我返回一个空字符串,它会停留在页面上,如果它返回一个字符串,'/dashboard'那么它会重定向到仪表板.

问题是我无法检查用户是否已登录,在配置中的该功能.因为我不能把我注入UserService那里.

main.js

var myApp = angular.module('myApp', ['ngRoute', 'ngAnimate']);

myApp.config(['$routeProvider', '$locationProvider', function AppConfig($routeProvider, $locationProvider) {

    $routeProvider.when(
        // entry point, the main route of the app
        '/', {
            redirectTo: '/home'
        }
    )
    .when(
        // home page, entrypoint when a user is not logged in.
        '/home', {
            redirectTo: function redirectHome() {
                // need to get the loggedInState here... preferably not on the window :p
                return (window.isLoggedIn) ? …
Run Code Online (Sandbox Code Playgroud)

angularjs

5
推荐指数
1
解决办法
1612
查看次数

backbone.js:如何内联编辑模型的属性

我如何在模型的属性上添加内联编辑,

例如,当我有一个Player模型

var Player = Backbone.Model.extend({
  defaults: {
    id: 0,
    name: '',
    points: 0
  },
  initialize: function(){
    // irrelevant stuff happening here...
  },
  rename: function(newName){
    this.set({ name: newName });
  }
});
Run Code Online (Sandbox Code Playgroud)

和一个playerRow观点

var PlayerRow = Backbone.View.extend({
  tagName: 'li',
  className: 'player',
  events: { 
    'click span.score':  'score',
    'blur input.name': 'rename',
    'click div.playername': 'renderRename'
  },   
  initialize: function(){
    _.bindAll(this, 'render', 'rename');
    this.model.bind('change', this.render);
  },
  render: function(){
    var template = Tmpl.render("playerRow", { model : this.model });
    $(this.el).html(template);
    return this;
  },
  renderRename: …
Run Code Online (Sandbox Code Playgroud)

javascript model-view-controller backbone.js

4
推荐指数
1
解决办法
4465
查看次数

jQuery DateTimePicker:使用jQuery $ .Post()将日期时间数据发布到MVC3动作中的ViewModel

我正在尝试使用jQuery DateTimePicker将我的日期从输入字段发布到我的ViewModel中的DateTime属性.我一直在解析1/01/0001 0:00:00.我们来看看我的viewmodel:

public class GameViewModel
{
    [Display(Name = "Home team")]
    public virtual String Home { get; set; }

    [Display(Name = "Away team")]
    public virtual String Away { get; set; }

    [Display(Name = "Kickoff time")]
    [DataType(DataType.DateTime)]
    public virtual DateTime GameTime { get; set; }

    [Display(Name = "Standard sharing on?")]
    public virtual Boolean IsStandardSharing { get; set; }

    //Hidden
    public virtual Guid PeriodId { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

这是我输入字段的剃刀:

@Html.EditorFor(m => m.GameTime)
Run Code Online (Sandbox Code Playgroud)

最后是我的JavaScript

$('#GameTime').datetimepicker({
    constrainInput: true,
    firstDay: 1,
    monthNames: ['Januari', 'Februari', …
Run Code Online (Sandbox Code Playgroud)

c# jquery jquery-ui datetimepicker asp.net-mvc-3

3
推荐指数
1
解决办法
4090
查看次数

Javascript:在x个异步数据库/ ajax调用之后,有没有更好的方法来执行函数

使用Backbone.js我们有一个应用程序,在某些情况下我们需要向客户端webservice发送ajax帖子.

但是,要发布的内容是动态的,并且由某个数组决定.

对于数组中的每个项目,我们需要获取一段数据.

在汇总需要发送聚合对象的数据之后.

截至目前,我有一个同步方法,虽然我觉得这不是最好的方法.

var arrParams = [{id: 1, processed: false},{id: 7, processed: false},{id: 4, processed: false}];

function callback(data) {
    $.post()... // jquery ajax to post the data... }

function fetchData(arr, data, callback) {
    var currentId = _(arr).find(function(p){ return p.processed === false; }).id;  // getting the ID of the first param that has processed on false...

    // ajax call fetching the results for that parameter.
    $.ajax({
        url: 'http://mysuperwebservice.com',
        type: 'GET',
        dataType: 'json',
        data: {id: currentId},

        success: function(serviceData) {
            data[currentId] …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous backbone.js underscore.js

2
推荐指数
1
解决办法
227
查看次数

在C#中对XPathNodeIterator的内容进行排序

我有一个DLL(由于许多原因)无法改变.我使用这个程序集来检索一个XPathNodeIterator.

我知道我可以用XML排序XPathExpressionXPathNavigator获得的XPathNodeIterator,问题是,我从一开始XPathNodeIterator就是有什么办法可以再应用排序?

c# xml xpath

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

在umbraco 4.7中添加自定义404页面

我正在尝试将自定义404页面添加到umbraco中,即使我让它们在多个项目中工作,在这个umbraco 4.7中它也不起作用.

所以,我有什么,多个站点,每个都有几种语言.

我的umbracoSettings包含这个:

    <errors>
      <error404>
        <errorPage culture="default">1842</errorPage>
        <errorPage culture="en-GB">1842</errorPage>
        <errorPage culture="nl-BE">1843</errorPage>
        <errorPage culture="fr-BE">1844</errorPage>
      </error404>
    </errors>
Run Code Online (Sandbox Code Playgroud)

就像在其他项目中一样,虽然我一直在获取IIS 404页面.

所以,我尝试了本主题中的解决方案, passThrough和自定义解决方案似乎都不起作用

passThrough给出了:

未找到页面没有umbraco文档与网址" http://www.mysite.be/en/facebook " 匹配

umbraco尝试使用此xpath查询匹配它'/ domainprefixes-are-used-so-i-do-not-work')

通过添加umbraco文档的ID以在/config/umbracoSettings.config文件中显示为404页面,可以将此页面替换为自定义404页面.只需将id添加到'/ settings/content/errors/error404'元素即可.

有关更多信息,请访问umbraco网站上有关自定义404的信息.

和自定义给出了这个结果:

未找到页面没有umbraco文档与网址' http://solex.d01-win-dev.be/non-existing-page.aspx?404 ;http ://solex.d01-win-dev.be:80/匹配en/facebook '

umbraco尝试使用此xpath查询匹配它'/ domainprefixes-are-used-so-i-do-not-work')

通过添加umbraco文档的ID以在/config/umbracoSettings.config文件中显示为404页面,可以将此页面替换为自定义404页面.只需将id添加到'/ settings/content/errors/error404'元素即可.

有关更多信息,请访问umbraco网站上有关自定义404的信息.

它看起来好像他没有走向umbracoSettings来获取我的error404映射.在4.7中你做了一些改变,你需要通过web.config键激活自定义错误页面?

error-handling umbraco

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

骨干js混乱

我听过很多关于backbone.js的内容,坦白说我不明白它的概念.它是否需要所有元素都在单页中才能使用其动画和效果?或者它可以从服务器中获取项目并通过转换加载它,或者我指的是不同的页面,但看起来像一个页面.我不太了解它的概念,所以这就是我要问的原因.我正在寻找的是将骨干或任何其他javascript框架与rails项目结合使用,这可以提供一些跨页面的轻松转换,并且可以提供本机应用程序外观.

javascript ruby frameworks ruby-on-rails backbone.js

0
推荐指数
1
解决办法
477
查看次数

websql使用select in从数组中获取行

在websql中,我们可以像这样请求某一行:

tx.executeSql('SELECT * FROM tblSettings where id = ?', [id], function(tx, rs){
    // do stuff with the resultset.
},
function errorHandler(tx, e){
    // do something upon error.
    console.warn('SQL Error: ', e);
});
Run Code Online (Sandbox Code Playgroud)

但是,我知道常规的SQL,并认为我应该能够请求

var arr = [1, 2, 3];
tx.executeSql('SELECT * FROM tblSettings where id in (?)', [arr], function(tx, rs){
    // do stuff with the resultset.
},
function errorHandler(tx, e){
    // do something upon error.
    console.warn('SQL Error: ', e);
});
Run Code Online (Sandbox Code Playgroud)

但这没有给我们任何结果,结果总是空的.如果我将删除[arr]arr,然后sql将获得可变数量的参数,所以我认为它应该是[arr].否则它将要求我们添加动态数量的问号(与数组中的id一样多).

那么有谁能看到我做错了什么?

sql sqlite web-sql

0
推荐指数
1
解决办法
3385
查看次数