小编lev*_*vye的帖子

点击事件在knockoutjs上自动触发

我正在尝试使用learn.knockoutjs.com 上的邮件客户端教程.我想在邮件详细信息块中添加"后退按钮".但该按钮是自动触发的.

我的代码

<div class="viewMail" data-bind="with: chosenMailData">
    <button data-bind="click: alert('derp')">derp</button>
    <div class="mailInfo">
        <h1 data-bind="text: subject"></h1>
        <p><label>From</label>: <span data-bind="text: from"></span></p>
        <p><label>To</label>: <span data-bind="text: to"></span></p>
        <p><label>Date</label>: <span data-bind="text: date"></span></p>
    </div>
    <p class="message" data-bind="html: messageContent" />
</div>
Run Code Online (Sandbox Code Playgroud)

当我设置selectedMailData viewMail div显示.但同时浏览器警报"derp".当我点击按钮时,我希望当时的浏览器提醒.怎么了?

javascript knockout.js

5
推荐指数
1
解决办法
3155
查看次数

Promise 对象在 React Native 项目中不起作用

首先,我认为 firebase 功能已损坏。然后,我尝试制作一个返回 Promise 的简单函数。我将其放入顶级index.js。

const testPromise = param => {
  console.log('return promise', param);
  return new Promise((resolve, reject) => {
    console.log('resolve promise');
    resolve('derp');
  });
};

testPromise('hede')
  .then(d => {
    console.log('resolved');
  })
  .catch(e => {
    console.log('e', e);
  });

AppRegistry.registerComponent(appName, () => App);
Run Code Online (Sandbox Code Playgroud)

控制台输出:

return promise hede
resolve promise
Run Code Online (Sandbox Code Playgroud)

看,没有“已解决”日志,也没有错误日志。

我尝试使用 nvm 更改 nodejs 版本,但没有成功。我尝试了 v12.5.0、v12.18.2、v15.6.0、v10.16.3。我尝试过像nvm use 12.5 && npm start

我尝试创建一个新的反应本机项目,并复制了所有内容。现在,它按预期工作。这对我来说是一个解决方案,但我没有将问题标记为已解决,因为仍然是一个谜,我无法弄清楚为什么它不适用于现有项目。

node.js es6-promise react-native metro-bundler

5
推荐指数
1
解决办法
1582
查看次数