请分享如何使用<firebase-auth>
Polymer元素的工作代码示例.
我有一个自定义<paper-button>
我正在尝试进入用户身份验证的登录按钮.我想使用Firebase来执行用户身份验证服务.
authentication polymer firebase-authentication polymer-1.0 polymerfire
此Stack Overflow答案建议使用<iron-signals>
将DOM树中的事件广播到自定义元素.
下面,我问一个不同的问题.
我如何能:
- 将事件传递给直接子节点(自定义元素)
- 来自父(自定义元素)
- 没用
<iron-signals>
?
这就是我到目前为止所拥有的.但它不起作用.
家长element.html<dom-module id="parenet-element">
<template is="dom-bind">
<child-element></child-element>
<paper-button on-tap="_handleTap"></paper-button>
</template>
</dom-module>
<script>
(function(){
Polymer({
is: 'parenet-element',
_handleTap: function() {
this.fire("my-event");
}
});
})();
</script>
Run Code Online (Sandbox Code Playgroud)
儿童element.html
<dom-module id="child-element">
...
</dom-module>
<script>
(function(){
Polymer({
is: 'child-element',
listeners: {
"my-event": "foo"
},
foo: function(){
// Do stuff
}
});
})();
</script>
Run Code Online (Sandbox Code Playgroud) 我想通过使用 Firebase 云功能将原始收据发送到应用商店服务器进行验证并获取经过验证的收据来验证应用程序购买收据中的苹果。
var jsonObject = {
'receipt-data': receiptData,
password: functions.config().apple.iappassword
};
var jsonData = JSON.stringify(jsonObject);
var firebaseRef = '/' + fbRefHelper.getUserPaymentInfo(currentUser);
let url = "https://sandbox.itunes.apple.com/verifyReceipt";//or production
request.post({
headers: { 'content-type': 'application/x-www-form-urlencoded' },
url: url,
body: jsonData
}, function (error, response, body) {
if (error) {
} else {
var jsonResponse = JSON.parse(body);
if (jsonResponse.status === 0) {
console.log('Recipt Valid!');
} else {
console.log('Recipt Invalid!.');
}
if (jsonResponse.status === 0 && jsonResponse.environment !== 'Sandbox') {
console.log('Response is in Production!');
} …
Run Code Online (Sandbox Code Playgroud) 在我的 Google Cloud Platform 仪表板中,我创建了一个新项目。
https://console.cloud.google.com/home/dashboard?project=my-new-project
我在哪里可以获取我的应用程序的客户端 ID 和密码?
我已经为我的<iron-ajax>
调用添加了一个事件监听器给我的自定义元素.
是否有更短(更方便的语法)方式来命令性地(即使用Javascript)在Polymer中添加事件监听器?
换句话说,Polymer库是否包含任何为此加糖的语法?
定制element.html<template>
...
<iron-ajax id="ajax" last-response="{{ajax}}"></iron-ajax>
...
<template>
<script>
...
var that = this,
t = this.$.ajax;
t.addEventListener('response', function(e) {
console.log(that.ajax);
});
...
</script>
Run Code Online (Sandbox Code Playgroud)
您还可以
this.$
使用语法将事件侦听器添加到集合中的任何元素nodeId.eventName
.
但我认为这仅适用listeners
于在Polymer对象中使用属性,如:
listeners: {
'tap': 'regularTap',
'special.tap': 'specialTap'
},
Run Code Online (Sandbox Code Playgroud) 我有一个主要的firebase云功能,主要功能.但我需要创建另一个更具体的,使用主云功能的功能.我是否可以通过免费帐户请求http Post或从一个firebase云功能获取到另一个firebase云功能?
我试图制作它,但我得到了'ENOTFOUND'消息,我想知道我的代码是否有问题,或者它只是免费帐户的限制.
index.js'use strict';
const functions = require('firebase-functions');
const express = require('express');
const app = express();
app.post('/test', function(req, res) {
var request = require('request')
var options = {
method: 'post',
body: req.body, // re-send the incoming body to the main cloud function
json: true,
url: '<main cloud url>',
headers: req.headers // re-send the incoming headers the main cloud function
}
request(options, function (err, response, body) {
if (err || response.statusCode != 200) {
res.status(400).send(err); //re-send the received error …
Run Code Online (Sandbox Code Playgroud) 我发现了
color: rgb(51, 51, 51);
Run Code Online (Sandbox Code Playgroud)
和
color: #333333;
Run Code Online (Sandbox Code Playgroud)
和
color: black; opacity: 0.8;
Run Code Online (Sandbox Code Playgroud)
都产生相同的灰色阴影。
我该如何概括这一点?
换句话说,给定任意 RGB 或 HEX 颜色/灰色阴影,我如何确定opacity
when的等效值color: black;
?
<style>
div {
font-family: sans-serif;
font-size: 48px;
margin: 20px;
padding: 60px;
}
.rgb {
color: rgb(51, 51, 51); /* given this value... */
}
.hex {
color: #333333; /* ...or given this value */
}
.opacity {
color: black;
opacity: 0.8; /* how can I determine this value? */
}
<style>
<body> …
Run Code Online (Sandbox Code Playgroud) 我在我正在使用的 React 入门套件上安装了 react 和 react-dom 15.4.2,我正在尝试安装 material-ui;然而,npm 告诉我最新版本的 Material UI(可以理解)我们需要更高版本的 React(16.0)。
有没有办法让我直接安装与我的 package.json 文件中当前存在的依赖项兼容的 material-ui 版本?(即我不知道这将是哪个版本,我想知道是否有一种快速的方法来做到这一点/查找它)。
我想使用点表示法更新 Cloud Firestore 中嵌套对象中的字段。但点符号引用的那些字段是变量。
我怎样才能做到这一点?
文档// To update age and favorite color:
db.collection("users").doc("frank").update({
"age": 13,
"favorites.color": "Red"
})
Run Code Online (Sandbox Code Playgroud)
但是如果我需要创建favorites.color
一个变量怎么办?
const attributes = [ 'jobs', 'schools', 'favorites', ];
const values = [ 'food', 'song', 'color', ];
const variableData = [attributes[2]].[values[2]]; // 'favorites.color'
Run Code Online (Sandbox Code Playgroud)
我可不可以做:
db.collection("users").doc("frank").update({
"age": 13,
"[attributes[2]].[values[2]]": "Red"
})
Run Code Online (Sandbox Code Playgroud)
确切地说,这会如何运作?
编辑:
我试过:
db.collection("users").doc("frank").update({
"age": 13,
`${[attributes[2]]}.${[values[2]]}`: "Red"
})
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:
解析错误:意外的标记
尝试时也会出现同样的错误
`"${[attributes[2]]}.${[values[2]]}"`: "Red"
Run Code Online (Sandbox Code Playgroud)
(认为 Firebase 需要引号来解析语法。)
这个接受的答案表明,无法从 Google Workspace 插件将自定义 Google 表格功能导入到 Google 表格中。
然而,我遇到了一个反例,证明上述结论是错误的。
人们可以像这样按预期安装该附加组件。
但安装工作区附加组件后,您可以立即访问扩展选项卡下的下拉菜单(通常仅为编辑器附加组件保留),而无需执行任何其他步骤。下拉菜单立即可用。只需单击一次按钮即可安装自定义功能。
因此,不知何故,安装工作区附加组件会自动安装编辑器附加组件。
这是如何实现的?
我认为以下代码也适用于这种情况。
const ss = SpreadsheetApp.getActiveSpreadsheet();
function onOpen( e ) {
ui.createAddonMenu()
.addItem( 'Start', 'showSidebar', )
.addToUi();
const menuItems = [];
menuItems.push({ name: 'Start' , functionName: 'showSidebar' });
ss.addMenu( 'MyApp', menuItems, );
}
function showSidebar() {
// code TBD
// right now, I'm just trying to get the menu to appear
}
Run Code Online (Sandbox Code Playgroud)
<html>
<body>
<div>Hello World</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
{
"timeZone":"America/Los_Angeles",
"dependencies":{
}, …
Run Code Online (Sandbox Code Playgroud) google-sheets google-apps-script google-cloud-platform google-workspace google-workspace-add-ons
firebase ×3
javascript ×3
polymer ×3
polymer-1.0 ×3
reactjs ×2
colors ×1
css ×1
hex ×1
material-ui ×1
node.js ×1
npm ×1
opacity ×1
polymerfire ×1
rgb ×1