我想验证我正在使用的方法在扩展原型方面是正确的 - 假设"extend"是正确的词.
这个主题得到了很多克隆.我还在努力正确理解这个话题......
目的是: - 编写干净,良好的代码. - 避免使用框架,如果可能的话,使用普通的Javascript. - 获取有关干净框架的建议,这些框架不会扭曲JS以获取启用类的行为.
这是我的沙箱的父原型:
function Parent(){
}
Parent.prototype = {
"init":function(){
this.name = "anon";
},
"initWithParameters":function(parameters){
this.name = parameters.name ? parameters.name : "anon";
},
"talk": function(){
console.log('Parent is: ' + this.name);
}
}
Run Code Online (Sandbox Code Playgroud)
现在是Child原型 - 它添加了一个"position"属性并重新定义了这些行为:
function Child(){
Parent.call(this);
}
Child.prototype = new Parent;
Child.prototype.constructor = Child;
Child.prototype.init = function(){
Parent.prototype.call(this);
this.setPosition(0, 0);
}
Child.prototype.initWithParameters = function(parameters){
Parent.prototype.initWithParameters.call(this, parameters);
if(!this.position){
this.position = {x:0, y:0};
}
this.setPosition(parameters.pos.x, parameters.pos.y);
}
Child.prototype.setPosition = function(x, y){ …Run Code Online (Sandbox Code Playgroud) 试图模仿材质指南的外观,我无法将工具栏的阴影渲染到mat-sidenav-container元素的顶部:
看到HTML代码,它不能更简单.我错过了什么?谢谢...
app.component.html
<mat-toolbar class="mat-elevation-z6" color="primary">
toolbar
</mat-toolbar>
<mat-sidenav-container >
<!-- Side menu -->
<mat-sidenav mode="side" opened="true">
<h3>Menu 1</h3>
<ul>
<!-- Home (aka dashboard) -->
<li>
<a routerLink="/">dashboard</a>
</li>
<!-- Home (aka dashboard) -->
<li>
<a routerLink="/resolutions">resolutions</a>
</li>
</ul>
<!-- List resolutions -->
<h3>Menu 2</h3>
<ul>
<li>
<a>incentive</a>
</li>
</ul>
</mat-sidenav>
<!-- Routed contents -->
<div class="contents">
<router-outlet></router-outlet>
</div>
</mat-sidenav-container>
Run Code Online (Sandbox Code Playgroud) 所以我通过构建以下沙箱来试验ngrx&ngrx/effects:
https://stackblitz.com/edit/ngrx-vanilla
快速介绍:
三页:
问题和背景:
收到更新后(在app/store/effects/meeting.effects.ts中说明),将调度新操作.
最后,问题是:让一个共同的服务了解商店是一种干净的做法吗?将一个监听器注册到websocket/firebase实时数据库以便在推送数据时调度操作的最佳位置在哪里?
在这里,我做了一个效果(meeting.effects)对meetingActions.START_MEETING操作类型做出反应,每当推送数据时,都会向商店发送更新订单,但由于我提出的一系列原因,这感觉不对:
这些案件通常如何处理?
规则集保护用户的条目,如下所示:
规则看起来像:
match /users/{userId} {
allow read: if isCurrentUser(userId) || isAdmin();
allow write: if (isCurrentUser(userId) && !isModifyingPermissions()) || isAdmin();
function isModifyingPermissions(){
return request.resource.data['permissions'] != null;
}
}
Run Code Online (Sandbox Code Playgroud)
我被这个isModifiyingPermissions()功能困住了。如果请求具有permissions属性值,它会正确拒绝写入。但是,如果未permissions提供任何属性,则规则会崩溃,并说明以下内容:
Error: simulator.rules line [19], column [15]. Property permissions is undefined on object.
Run Code Online (Sandbox Code Playgroud)
如何编写“检查请求资源上是否存在属性”?
我需要以编程方式创建Drupal 7网站中使用的标记列表.我正在浏览api /函数,但找不到像"get_list_of_terms()"这样的东西:-)
我该怎么办?谢谢!J.
我对Core Data很陌生.我的理解是它是一个对象图管理器,它与数据库不同.其中,一些功能将由程序员实现.
在编写一些在coredata框架中具有更好和更优化的对应物的逻辑之前:是否可以添加唯一键?比如entityA.name=@"jem",entityB.name=@"jem"由于名称已经被使用,未能插入entityB?
谢谢:-)嗯.
在Mobile Safari上使用100vh不会考虑下方导航栏的高度.
以下面的示例截图为例.为了显示我的应用程序般的页脚,我需要手动(并以丑陋的方式,请参阅下面的代码)从容器的高度减去74px.不这样做只是将我的页脚隐藏在移动Safari的导航页脚下.
有一个共同和干净的方法来解决这个问题吗?
我使用以下代码修复此问题.这对我来说很难看.用户代理推导出平台/浏览器和硬编码偏移以消除本机行为.相信我的解决方案并不好:
编辑 btw此代码在我的Angular4"响应式,移动第一和渐进式网络应用程序"的ngAfterViewInit()方法中运行(buzwords power)
const wrapper:any = document.getElementsByClassName('hack-to-fix-ios-height')[0];
if(wrapper && this.iOS()){
let height = wrapper.offsetHeight;
height -= 74;
// Mobile Safari fix for footer nav
this.renderer.setStyle(wrapper, 'height', height + 'px');
}
Run Code Online (Sandbox Code Playgroud) 情况:
结构示例:
- src
| - styles.scss
| - app
| - assets
|- third-party
| |- styles
| | |- general.scss
| |- images
| | |- logo.png
| |- import.scss
|- styles/
|- images/
Run Code Online (Sandbox Code Playgroud)
angular.json 引用了两个样式表:
"styles": [
"src/assets/third-party/imported.scss",
"src/styles.scss"
],
Run Code Online (Sandbox Code Playgroud)
更多信息
thrid-party/styles文件夹中问题
url('../images/logo.png');
错误信息:
Can't resolve '../images/logo.png' in '<project root>\src\assets\third-party\'
Run Code Online (Sandbox Code Playgroud)
对此的推荐方法是什么?在 …
我发现有关设置NSString常量的讨论让我按以下方式编写代码:
.h文件:
extern NSString * const kSectionHeaders;
Run Code Online (Sandbox Code Playgroud)
.m文件:
NSString * const kSectionHeaders = @"header";
Run Code Online (Sandbox Code Playgroud)
当程序运行时,它必须根据一系列NSString常量测试文本文件中的单词.
我读取内存比较应该在设置如上所述的功能时起作用:
if (property == kSectionHeaders) {...}
Run Code Online (Sandbox Code Playgroud)
不起作用:(以下工作,但它被描述为一个糟糕的解决方案(较慢,还有什么?):
if ([property isEqualToString:kSectionHeaders]){...}
Run Code Online (Sandbox Code Playgroud)
我觉得我做错了什么.但看不出来的是什么!请帮忙:-)谢谢!J.
我的小型HTML5应用程序需要在服务器上重新部署.我知道我只需触摸.appcache文件就可以在下次访问时让每个浏览器更新到最后一个版本的文件.
清单看起来像这样:
CACHE MANIFEST
#Version: 201209251353
index.html
apple-touch-icon.png
css/styles.css
data/dump.bin
img/background.png
img/sprites.png
js/core.js
js/jquery-1.8.1.min.js
vid/walkthrough.mov
Run Code Online (Sandbox Code Playgroud)
为了"触摸",我添加了一个评论(#Version :),我的意思是在内容更改时更新.
奇怪的是,一些文件已更新.并非所有,对于isntance,一位同事获得最新的core.js,但仍然显示一个旧的walkthrough.mov.
是否有一种简单的机制来强制更新缓存中的所有文件?
我在SO上找到了以下代码并将其包含在脚本中,希望它能提供帮助.不确定它是多么需要:(
// Application cache refresh
window.addEventListener('load', function(e) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
// Swap it in and reload the page to get the new hotness.
window.applicationCache.swapCache();
if (confirm('A new version of this site is available. Load it?')) {
window.location.reload();
}
} else {
// Manifest didn't changed. Nothing new to …Run Code Online (Sandbox Code Playgroud) angular ×3
objective-c ×2
constants ×1
core-data ×1
css ×1
drupal ×1
drupal-7 ×1
equals ×1
extend ×1
firebase ×1
html5 ×1
inheritance ×1
javascript ×1
material ×1
ngrx ×1
ngrx-effects ×1
ngrx-store ×1
nsstring ×1
oop ×1
prototype ×1
redux ×1
sass ×1
tags ×1
taxonomy ×1