我有一个RazorHelpers.cshtml文件,app_code其中如下所示:
@using Molecular.AdidasCoach.Library.GlobalConstants
@helper Translate(string key)
{
@GlobalConfigs.GetTranslatedValue(key)
}
Run Code Online (Sandbox Code Playgroud)
但是,我有一个案例,我想将结果用作链接文本@Html.ActionLink(...).我无法将结果转换为字符串.
有没有办法从Razor帮助器返回普通字符串,以便我可以在HTML和@Html帮助器中使用它们?
string type-conversion razor razor-declarative-helpers asp.net-mvc-3
我正在等待道具从一个名为的商店出来GetDealersStore,而我获取数据的方式是我正在执行的操作:
componentWillMount () { GetDealersActions.getDealers(); }
Run Code Online (Sandbox Code Playgroud)
我已经测试了应用程序并componentWillMount()在初始渲染之前运行,我有这个
let dealerInfo;
if (this.state.dealerData) {
dealerInfo = this.state.dealerData.dealersData.map((dealer) => {
return (<div>CONTENT</div>);
})
} else {
dealerInfo = <p>Loading . . .</p>
}
Run Code Online (Sandbox Code Playgroud)
但对于第一第二,你可以看到<p>Loading . . .</p>在这是在屏幕else的上面的条件,再渲染其余想出了return (<div>CONTENT</div>);这是if在有条件的.所以,我想,这意味着render方法已经触发了两次,因为它一直在等待来自数据库的数据.
数据库中的数据在第一次渲染时不可用,因此,如何在第一次初始渲染发生之前获取该数据?
这是一个人为的例子,但我试图在这里得出一般原则.
给定使用此类列表形式的英语短语:
I have a cat
I have a cat and a dog
I have a cat, a dog, and a guinea pig
I have a cat, a dog, a guinea pig, and a snake
Run Code Online (Sandbox Code Playgroud)
我可以使用正则表达式获取所有项目,无论有多少项目?请注意,项目可能包含多个单词.
显然,如果我只有一个,那么我可以使用I have a (.+),如果有两个,那么就可以了I have a (.+) and a (.+).
但是,如果我想要匹配的不仅仅是一个例子,事情会变得更加复杂.如果我想从两个例子提取列表中的项目,我想这会工作:I have a (.*)(?: and a (.*))?虽然这部作品的第一阶段,告诉我,我有一个cat和null,为第二个它告诉我,我有一个cat and a dog和null.当我尝试以更多形式匹配短语时,事情变得更糟.
有什么方法可以为此目的使用正则表达式吗?这似乎相当简单,我不明白为什么我的正则表达式匹配2项目列表工作,但匹配1-或2项目列表的正则表达不起作用.
我现在已经多次在无类OOP上观看了这个问题的视频,而我在将这个应用到现实世界的例子中时遇到了麻烦.
Crockford的新构造函数模式如下所示:
function constructor(spec) {
let {member} = spec,
{other} = other_constructor(spec),
method = function () {
// accesses member, other, method, spec
};
return Object.freeze({
method,
other,
});
}
Run Code Online (Sandbox Code Playgroud)
spec选项哈希在哪里,结果对象公开关闭所有内部成员的方法.忽略解构(因为这可以在现今的JS中以长篇形式完成),我如何在现实世界的例子中应用这种模式?
我目前有一个带有基类的库,Module(model, id)其中model包含一些引导数据.
// constructor, original flavor
function Module(model, id) {
this.id = id;
this.model = model;
}
Run Code Online (Sandbox Code Playgroud)
然后,我有几种继承自此父级的模块Module.在Crockford的模式下,我会把它作为"构造函数":
// constructor, Crockford's Cool Ranch
function module(spec) {
let id = spec.id,
model = spec.model;
return Object.freeze({});
}
Run Code Online (Sandbox Code Playgroud)
我如何使用Crockford的模式(它似乎根本不使用继承,而是从多个源组成一个对象) …
我正在尝试为网站编写一个点击计数器.作为首选项,不是必需的,我正在尝试使用Javascript来执行此操作.在网站的html文件中,我正在从javascript文件中读取一个数字并输出它.每次发生命中时如何使其"计数"?
对不起这个模糊的问题.我正走在正确的轨道上吗?任何提示,代码或参考将不胜感激.
谢谢!
在此 MDN 页面创建和触发事件中,它显示了使用Event或来创建事件的示例CustomEvent。它解释了CustomEvent允许自定义细节,但除此之外,它并没有说太多。
那么区别是什么呢?如果我正在创建一个通用的滚动事件,我应该使用CustomEvent? 还是仅针对javascript中不存在的事件?
另外,我注意到它MouseEvent也是 的子级Event,所以如果我要创建点击事件,我可以只使用new MouseEvent('click')?
谢谢
我正在审查此演示文稿中的幻灯片:http://slid.es/gruizdevilla/memory
在其中一张幻灯片中,此代码显示它会创建内存泄漏:
var buggyObject = {
callAgain: function() {
var ref = this;
var val = setTimeout(function() {
ref.callAgain();
}, 1000);
}
}
buggyObject.callAgain();
buggyObject = null;
Run Code Online (Sandbox Code Playgroud)
有人可以在这里更详细地解释这个问题吗?我可能会在这里遗漏一些细微之处.
看看这个 jQuery 代码:
var promise = new Deferred(),
some;
some = function(promise) {
// do cool things
promise.resolve();
};
promise.then(/* callback cool things */);
// init everything
some(promise);
Run Code Online (Sandbox Code Playgroud)
我不确定这种方法的架构正确性,但我使用它很长时间并且对我来说很方便。
在原生 JavaScript 中我不能使用这种方法。构造函数new Promise()需要回调参数,因此我无法将实例Promise作为参数传递。
所以我的问题是:如何预定义 JavaScript 原生 Promise,将其作为参数传递给函数和解析?
javascript jquery design-patterns promise ecmascript-harmony
替换字符串中的url并将它们作为React链接呈现的正确方法是什么?
说我有一个字符串:'hello http://google.com world',我希望它呈现如下:hello <a href="http://google.com">http://google.com</a> world
我正在阅读你不知道JS系列的最新版本,当它进入解构部分时完全丢失.请帮我理解这里的片段.这里的上下文将使一些指定的配置生效,而其他默认值仍然可用.
默认值:
var defaults = {
options: {
remove: true,
enable: false,
instance: {}
},
log: {
warn: true,
error: true
}
};
Run Code Online (Sandbox Code Playgroud)
配置:
var config = {
options: {
remove: false,
instance: null
}
};
Run Code Online (Sandbox Code Playgroud)
作者是如何完成的
config.options = config.options || {};
config.log = config.log || {};
({
options: {
remove: config.options.remove = defaults.options.remove,
enable: config.options.enable = defaults.options.enable,
instance: config.options.instance =
defaults.options.instance
} = {},
log: {
warn: config.log.warn = defaults.log.warn,
error: config.log.error = defaults.log.error
} …Run Code Online (Sandbox Code Playgroud) javascript ×8
reactjs ×2
ecmascript-6 ×1
inheritance ×1
java ×1
jquery ×1
memory-leaks ×1
promise ×1
razor ×1
react-jsx ×1
regex ×1
string ×1