小编Emi*_*ron的帖子

反应ES6 | 如何通过refs访问子组件函数

React的文档声明组件函数可以由父组件通过refs访问.请参阅:https://facebook.github.io/react/tips/expose-component-functions.html

我试图在我的应用程序中使用它,但在调用子函数时遇到"undefined is not a function"错误.我想知道这是否与使用ES6格式的React类有关,因为我没有看到我的代码和文档之间的任何其他差异.

我有一个Dialog组件,看起来像下面的伪代码.Dialog有一个"Save"按钮,调用save(),需要调用子Content组件中的save()函数.Content组件从子表单字段中收集信息并执行保存.

class MyDialog extends React.Component {
  save() {
    this.refs.content.save();                    <-- save() is undefined
  }

  render() {
    return (
      <Dialog action={this.save.bind(this)}>
        <Content ref="content"/>
      </Dialog>);
   }
}

class Content extends React.Component {
  save() {
    // Get values from child fields
    // and save the content
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以将prop(saveOnNextUpdate)传递给Content,然后在它为真时执行save,但我宁愿弄清楚如何让上面的React doc中详述的方法工作.

有关如何使doc方法工作或以不同方式访问子组件的任何想法?

javascript reactjs redux

35
推荐指数
2
解决办法
2万
查看次数

Javascript prompt() - 取消按钮终止该功能

我正在调用Javascript window.prompt()并提示用户提交一个变量,我将其与另一个变量(一个非常基本的密码保护)进行比较.该函数的伟大工程,但是,如果你点击"cancel"了上prompt()窗,功能不是简单地终止,而是变量比较空字符串,(用户选择不按提交"取消",而不是)导致功能继续到该else{ }部分.

我的问题是,如何在取消时终止该功能?我只需要知道如何定位取消按钮.

通常我只想叫.stop()click()一个按钮,但我不知道如何定位的提示窗口的取消按钮.

javascript prompt

32
推荐指数
3
解决办法
6万
查看次数

条件变量赋值的最佳方法

只想检查哪种是条件变量分配的更好方法

第一种方法

 if (true) {
   var myVariable = 'True';
 } else {
   var myVariable = 'False';
 }
Run Code Online (Sandbox Code Playgroud)

第二种方法

 var myVariable = 'False';
 if (true) {
   myVariable = 'True';
 }
Run Code Online (Sandbox Code Playgroud)

我实际上更喜欢第二个没有任何特定技术原因.你们有什么感想?

javascript

31
推荐指数
8
解决办法
5万
查看次数

错误:Multi dex需要Build Tools版本

我刚刚更新了我的android工作室,我收到了这个错误:

Error:Execution failed for task
':app:transformClassesWithDexForDebug'.
com.android.build.api.transform.TransformException:
java.lang.RuntimeException:
com.android.ide.common.process.ProcessException:
java.util.concurrent.ExecutionException:
java.lang.IllegalStateException: Multi dex requires Build Tools 21.0.0
/ Current: 19.1
Run Code Online (Sandbox Code Playgroud)

android android-studio

31
推荐指数
2
解决办法
4万
查看次数

使用POST请求获取集合?

我已经设法使用REST API来处理fetch()数据,其中url包含最少的参数(和使用GET).

如何通过POST请求检索集合?

javascript jquery backbone.js backbone.js-collections

29
推荐指数
1
解决办法
2万
查看次数

CSS3过渡缓和盒子阴影

我正在尝试使用CSS3让div id轻松进出盒子阴影.

我目前的CSS是:

#how-to-content-wrap-first:hover {
-moz-box-shadow: 0px 0px 5px #1e1e1e; 
-webkit-box-shadow: 0px 0px 5px #1e1e1e; 
box-shadow: 0px 0px 5px #1e1e1e;
-webkit-transition: box-shadow 0.3s ease-in-out 0s;
-moz-transition: box-shadow 0.3s ease-in-out 0s;
-o-transition: box-shadow 0.3s ease-in-out 0s;
-ms-transition: box-shadow 0.3s ease-in-out 0s;
transition: box-shadow 0.3s ease-in-out 0s; 
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,在元素的第一次悬停时,没有缓和进出,然后任何后续的悬停都会缓和但不会缓和.

人们对此有何建议会非常感激?

css hover css-transitions

26
推荐指数
1
解决办法
7万
查看次数

定义Vue-Router路由时访问Vuex状态

我有以下Vuex商店(main.js):

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

//init store
const store = new Vuex.Store({
    state: {
        globalError: '',
        user: {
            authenticated: false
        }
     },
     mutations: {
         setGlobalError (state, error) {
             state.globalError = error
         }
     }
})

//init app
const app = new Vue({
    router: Router,
    store,
    template: '<app></app>',
    components: { App }
}).$mount('#app')
Run Code Online (Sandbox Code Playgroud)

我还为Vue-Router(routes.js)定义了以下路由:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

//define routes
const routes = [
    { path: '/home', name: 'Home', component: Home }, …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-router vuex vuejs2

26
推荐指数
6
解决办法
3万
查看次数

将对象的属性转换为以逗号分隔的列表?

我有一个像这样的对象:

var person = {
  name: "John",
  surname: "Smith",
  phone: "253 689 4555"
}
Run Code Online (Sandbox Code Playgroud)

我想要:

John,Smith,253 689 4555
Run Code Online (Sandbox Code Playgroud)

有一些简单的方法吗?

如果可能,请您提供一个示例,我也可以定义分隔符?

javascript csv

23
推荐指数
6
解决办法
2万
查看次数

如何比较jQuery/JavaScript中的两个颜色值?

我用jQuery获得了颜色值.css('color'),然后我知道它应该是颜色.

如何比较从jQuery获得的颜色值,例如黑色值?

javascript css jquery

20
推荐指数
3
解决办法
2万
查看次数

如何使用Handlebars解码HTML实体

我在我正在构建的应用程序上使用Handlebars模板引擎来呈现从服务器获取的数据.

我知道它默认转义HTML值,你必须使用三个括号{{{text}}}才能text: <p>Example</p>呈现为HTML元素.

问题是,如果我收到的数据(包括HTML标签)已经被转义,我该怎么办?

所以,如果我收到如下数据:

text: &lt;p&gt;Example&lt;/p&gt;
Run Code Online (Sandbox Code Playgroud)

如何强制把手翻译并将其渲染为普通HTML?

javascript templates mustache handlebars.js

20
推荐指数
2
解决办法
2万
查看次数