标签: observers

如何从Ember.js中另一个ArrayController的选定值更新一个ArrayController的内容

我在ember.js中遇到以下问题.子控制器依赖于父控制器中的选定值来确定其内容.在数据库中,子项具有parent_id引用.

App.parentsController = Em.ArrayController.create({
    content: [],
    selected: null
});

App.sonsController = Em.ArrayController.create({
    // the value of content depends on the id of
    // the selected item in the parentsController
    content: [], 
    selected: null
});

App.daughtersController = Em.ArrayController.create({
    // the value of content depends on the id of
    // the selected item in the parentsController
    content: [], 
    selected: null
});
Run Code Online (Sandbox Code Playgroud)

我更愿意在没有parentController必须知道其他控制器的情况下解决这个问题.这应该可以通过观察者,绑定甚至通过计算实现,但我不知道从哪里开始.任何帮助将不胜感激.

javascript arrays binding observers ember.js

6
推荐指数
1
解决办法
3137
查看次数

C++自己的观察者模式

我设计应该以这种方式工作的观察者模式:观察者调用AddEventListener的方法EventDispatcher,并传递一个字符串,它是的名称event,PointerToItselfPointerToItsMemberMethod

之后event发生在EventDispatcher; 它查看订阅列表,如果有一些,则分配给此事件调用该action方法observer.

我来这里了EventDispatcher.h.小心包含一些伪代码.

这是两个问题:

  1. 如何定义actionin 的类型struct Subscription
  2. 我正在朝着正确的方向前进吗?

PS:不,我不会使用boost任何其他库.

#pragma once

#include <vector>
#include <string>

using namespace std;

struct Subscription
{
        void*                   observer;
        string                  event;
        /*  u_u  */             action;
};

class EventDispatcher
{
    private:
        vector<Subscription>    subscriptions;

    protected:
        void                    DispatchEvent ( string event );

    public:
        void                    AddEventListener ( Observer* observer …
Run Code Online (Sandbox Code Playgroud)

c++ pointers function-pointers observers observer-pattern

6
推荐指数
1
解决办法
1331
查看次数

反向路由更改以应用等效于onload

我正在尝试观察路线更改,以便在渲染后应用一些常见操作.我们的想法是拥有onload与之类似的功能,但是当我们使用单页应用时,需要在每次路由更改时触发.(可以限定为新视图)

我找到了如何观察currentPath的变化:

App.ApplicationController = Ember.Controller.extend({
  currentPathDidChange: function() {
    prettyPrint()
  }.observes('currentPath');
});
Run Code Online (Sandbox Code Playgroud)

虽然这在某些情况下效果很好,但是当路由发生变化时会触发它,但仍然要提前应用内容更改,因为它似乎在内容呈现之前附加.

有关实现这一目标的最佳实践的任何想法?

routes observers ember.js

6
推荐指数
1
解决办法
3941
查看次数

Magento sales_order_payment_pay观察者未触发

我正在尝试将信息从我的magento安装发送到dropshipper。显然,这应该在付款完成后立即进行。据我所知,Magento的观察员应在付款完成后被解雇。

我有以下文件,但观察者似乎从未被解雇:app / etc / modules / SPB_Coreextended.xml:

<?xml version="1.0"?>
<config>
    <modules>
        <SPB_Coreextended>
            <active>true</active>
            <codePool>local</codePool>          
        </SPB_Coreextended>
    </modules>
</config>
Run Code Online (Sandbox Code Playgroud)

应用程序/代码/本地/SPB/Coreextend/etc/config.xml:

<?xml version="1.0"?>
<config>
    <modules>
        <SPB_Coreextended>
            <version>0.2.0</version>
        </SPB_Coreextended>
    </modules>
    <frontend>
        <routers>
            <checkout>
                <args>
                    <modules>
                        <SPB_Coreextended before="Mage_Checkout">SPB_Coreextended_Checkout</SPB_Coreextended>
                    </modules>
                </args>
            </checkout>
        </routers>
    </frontend>
    <global>
        <models>
            <SPB_Coreextended>
                <class>SPB_Coreextended_Model</class>
            </SPB_Coreextended>
        </models>      
        <events>
            <sales_order_payment_pay>
                <observers>
                    <SPB_Coreextended>
                        <type>singleton</type>
                        <class>SPB_Coreextended/Observer</class>
                        <method>sendOrder</method>
                    </SPB_Coreextended>
                </observers>
            </sales_order_payment_pay>     
        </events>
     </global>
</config>
Run Code Online (Sandbox Code Playgroud)

应用程序/代码/本地/ SPB / Coreextend /模型/Observer.php:

<?php
class SPB_Coreextended_Model_Observer 
{
    public function sendOrder($observer) {
        Mage::log("New order");
        $order = $observer->getInvoice()->getOrder(); // Mage_Sales_Model_Order
        Mage::log("New order"); …
Run Code Online (Sandbox Code Playgroud)

observers magento

5
推荐指数
0
解决办法
2051
查看次数

什么是捕获订单的正确的magento观察员事件?

我只是在订单付款后才尝试向第三方发送订单,现在已将其设置为"处理"状态.什么是最好的观察者用来设置它适用于所有支付类型?

看完几个来源之后,似乎:

sales_order_invoice_pay
Run Code Online (Sandbox Code Playgroud)

应该适用于所有付款方式,但似乎已在Magento 1.9上删除:http ://rabee.me/codes/magento/cheatsheet/1.9/ (此列表不完整,请查看以下更新)

另一种选择是:

'sales_order_payment_pay'
Run Code Online (Sandbox Code Playgroud)

但是,当我测试它将付款方式设置为"支票/汇票"时,我使用订单>发票>提交发票在后端生成发票后不会触发

此方法仅使用其他付款方式调用吗?(贝宝/ authorize.net)

更新:

阅读之后:另一个问题似乎是保证我在付款(在线或离线)之后输出订单的唯一方法是在创建发票时捕获,而对于Magento 1.9,正确的观察者是:

sales_order_invoice_register
Run Code Online (Sandbox Code Playgroud)

在线方法paypal/authorize.net付款后是否自动创建和发送发票?在沙箱/测试模式下使用它们时仍然如此吗?

更新2:

经过大量测试后,似乎这'sales_order_invoice_pay'是用于实现我所需要的正确方法.

php observers magento magento-1.9

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

阻止Laravel观察员事件的行动

我想知道如何在模型观察者身上防止某个动作,例如:

$model->update(['foo' => 'bar']);
Run Code Online (Sandbox Code Playgroud)

在观察者中

public function updating(Model $model)
{
    if($model->isDirty('foo') {
        // Prevent action from happening
    }
}
Run Code Online (Sandbox Code Playgroud)

先感谢您.

php observers laravel php-7.2 laravel-5.6

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

Vue - 如何识别 [__ob__: 观察者]?

在我的组件中,我循环访问一个数据属性(它是一个对象),以检查是否设置了任何值。其中一个值是一个数组,但是当它为空并且我控制台记录它的值时,它会返回

[__ob__: Observer]

如果我测试它是数组还是对象,它们都不会返回 true。仅当向其中添加元素时,它才会被识别为数组。

我还尝试测试它是否是一个函数 ( entry[1] === "function") - 不正确。

那么什么是[__ob__: Observer]以及如何进行检查来识别这个特定的东西呢?我需要为此破例。

observers vue.js

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

处理删除/添加实时数据观察器以在按钮单击时观察

我想观察房间数据库中的一行。一段时间后它会改变。但是当我们点击停止按钮时,它需要停止观察表单数据库,当点击开始按钮时,它会再次开始观察。

我当前的代码是创建观察者

    private lateinit var recordObserver: Observer<Ride>

    recordObserver= Observer<Ride> { rides ->

                    if (rides != null) 

                        updateData(rides)

                    else
                        setDataToZero()
                } 

when(isState){
     Constants.isrunning->{//need to start observer}
     Constants.Stop->{//need to stop observer}
}
Run Code Online (Sandbox Code Playgroud)

observers kotlin android-livedata

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

如何使用 IntersectionObserver 最初检查元素是否相交

目标: 我想对页面加载时相交的一组元素执行一个操作,并单独处理所有其他元素(当前不相交)。

问题: 每个观察者都有自己的回调,我无法同步获取一组观察者的结果。

可能的解决方案: 如果可以首先询问相交观察者该元素是否相交。据我所知,没有这样的功能,所以每个想法或帮助将不胜感激。

javascript observers intersection-observer

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

为什么“蓝牙低功耗入门”文档指出 BLE 观察器设备需要发射器,并且可能有也可能没有接收器?

我正在阅读蓝牙 LE 入门文档,偶然发现了下表: 在此输入图像描述

我的疑问是,如果观察者的唯一工作是接收 BLE 数据而不传回任何数据,那么接收器怎么可能是可选的。不应该是其他方式吗?发射器是可选的而接收器是强制性的?

PS 我知道,在硬件中,BLE 无线电实现了 Tx 和 Rx,并由应用程序使用其中之一或两者。

我正在阅读 BLE 规范文档,尚未实现任何内容,但是这个观察者设备定义对我来说没有意义。我希望观察者有一个 Rx 强制和 Tx 可选。

bluetooth observers core-bluetooth bluetooth-lowenergy

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