我正在创建一个应该嵌入到多个外部站点上的角度元素。
嵌入过程将只是对已编译脚本和表示该元素的 DOM 元素的引用:
<html>
<head>
<script src="element.js"></script>
</head>
<body>
<element></element>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但问题是该元素使用了一些 .png、.svg、.gif 和 .jpg 格式的资源。
当然,在不同站点上使用的编译元素无法引用这些资源。
角度元素的文档非常有限,甚至 Angular Docs 也没有对此进行任何说明。
实现这一目标的最佳方法是什么?我见过一些人将资源转换为数据并以这种方式呈现。
我一直在尝试使用 Angular Elements 并试图实现最佳的浏览器兼容性。但是我似乎遇到了死胡同,因为当我为 Shadow DOM 添加一个 IE polyfill 时,它破坏了 chrome 中的元素。
最初我遇到了错误“无法构建 HTML 元素”,因此我将 tsconfig.json 中的“目标”更改为 es2015/es6。
配置文件
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
Run Code Online (Sandbox Code Playgroud)
成分
// @dynamic
@Component({
selector: 'flexybox-cardmanagement',
templateUrl: './card-management.component.html',
styleUrls: ['./card-management.component.scss'],
encapsulation: ViewEncapsulation.ShadowDom
})
Run Code Online (Sandbox Code Playgroud)
更改目标碰巧破坏了 IE,因为不支持 es2015/es6+。所以我碰巧在@webcomponents 包中找到了 custom-elements-es5-adapter,它包装了 ES5,为需要它的浏览器提供必要的 ES6 功能。然后我还必须添加对自定义元素的支持。
polyfills.ts
/*****************************************************************************************
* APPLICATION …Run Code Online (Sandbox Code Playgroud) ecmascript-5 polyfills ecmascript-6 angular angular-elements
我很好奇返回响应和仅创建响应的区别。
我已经看到了大量使用return res.status(xxx).json(x)和的代码示例res.status(xxx).json(x)。
有没有人能够详细说明两者之间的区别?
出于某种原因,当我使用jQuery .css()时,它不会改变我的CSS.我已经多次检查过了,语法似乎是正确的.
我可以看到它正在运行操作,所以唯一不起作用的是CSS行:
jQuery的:
var document = this;
jQuery(document).ready(function($){
console.log("document ready");
jQuery("#buttonrow .button").click(function(){
var $this = $(this);
console.log("button clicked");
if($this.attr("id") == 'redbutton'){
console.log("red");
$('#redCheckDiv').css('display', 'block');
} else {
console.log("blue");
$('#blueCheckDiv').css('display', 'block');
}
});
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div class="row" id="buttonrow">
<div class="col-md-5 col-md-offset-1 button" id="bluebutton">
<div class="blueCheckDiv"></div>
<div class="col-md-10 col-md-offset-1 text-center" id="text-container">
<p>This is the blue box</p>
</div>
</div>
<div class="col-md-5 button" id="redbutton">
<div class="redCheckDiv"></div>
<div class="col-md-10 col-md-offset-1 text-center" id="text-container">
<p>this is the red box</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我已经在这个mongoose.model.populate功能上挣扎了几个小时了。我什至尝试过直接复制和粘贴几个解决方案而没有运气。
我有一个用户模型,它应该包含他/她创建的“困境”数组,但我无法填充它。
以下是模型以及populate().
用户.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
// Create Schema
const UserSchema = new Schema({
username: {
type: String,
required: true
},
email: {
type: String,
required: true
},
password: {
type: String,
required: true
},
date: {
type: Date,
default: Date.now
},
dilemmas: [
{
type: Schema.Types.ObjectId,
ref: "Dilemma"
}
]
});
module.exports = User = mongoose.model("User", UserSchema, "users");
Run Code Online (Sandbox Code Playgroud)
困境.js
const mongoose = require("mongoose");
const slug = require("mongoose-slug-generator");
const Schema …Run Code Online (Sandbox Code Playgroud)