gpt4 book ai didi

javascript - 通过查询字符串值渲染 View 的主干

转载 作者:行者123 更新时间:2023-11-28 01:04:41 25 4
gpt4 key购买 nike

我有动态链接,并希望通过链接的查询字符串呈现 View 。

链接格式如下:

mysite.com/#content/id/subid/queryString=test1 //test1 is dynamic, it can be test1,test2 or the other value

我可以在主视图中通过this.options.queryString获取查询字符串。

主视图:

define(["jquery" ,
"underscore" ,
"backbone" ,
"text!templates/Content/mainTemplate.html",
"views/test1",
"views/test2"
],function($ , _ , Backbone, MainTemplate, test1, test2){

var mainView = Backbone.View.extend({
initialize : function(option){
},
event : {

},
render : function(){
var _content= _.template(MainTemplate);
this.$el.append(_content);

var view = this.option.queryString;
var renderView = new view();
$("#subDiv").html(renderView.render().$el);
}
});
return mainView;
});

我想做的是:当queryString = test1时,我将渲染一个 View 名称test1

有什么可行的方法吗?

最佳答案

尝试按照这些思路进行操作(前提是您有一个真正的查询字符串,前面带有 ? 就像我评论的那样)。请注意,这只是伪代码。

define([
'jquery',
'underscore',
'backbone',
'text!templates/Content/mainTemplate.html',
'views/test1',
'views/test2'
], function($, _, Backbone, MainTemplate, test1, test2) {
'use strict';

var MainView = Backbone.View.extend({
getParameterByName: function(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
},

render: function(){
var _content= _.template(MainTemplate);
this.$el.append(_content);

var SubView = require('views/' + this.getParameterByName('queryString'));
var subView = new SubView();

this.$el('.sub-div').html(subView.render().$el);
}
});

return MainView;
});

关于javascript - 通过查询字符串值渲染 View 的主干,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25226467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com