Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单个元素上的两个相同类型的自定义绑定_Javascript_Jquery_Knockout.js - Fatal编程技术网

Javascript 单个元素上的两个相同类型的自定义绑定

Javascript 单个元素上的两个相同类型的自定义绑定,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有以下代码: ko.bindingHandlers.myBinding = { update: function(element, valueAccessor) { var value = ko.utils.unwrapObservable(valueAccessor()); alert(value); } }; ko.applyBindings({ firstValue: ko.observable(true), second

我有以下代码:

ko.bindingHandlers.myBinding = {
    update: function(element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor());
        alert(value);
    }
};

ko.applyBindings({
    firstValue: ko.observable(true),
    secondValue: ko.observable(false)
});

<input data-bind="myBinding: firstValue, myBinding: secondValue"/>
ko.bindingHandlers.myBinding={
更新:函数(元素、值访问器){
var value=ko.utils.unwrapobbservable(valueAccessor());
警报(值);
}
};
ko.applyBindings({
第一个值:ko.可观察(真),
第二个值:ko.可观察(假)
});
运行此命令只会生成一个带有“false”的警报框。我是否可以利用设置来获得预期的行为,或者我的选项是否仅限于此:

var temp = {
    update: function(element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor());
        alert(value);
    }
};

ko.bindingHandlers.myBinding = temp;
ko.bindingHandlers.myBinding2 = temp;

ko.applyBindings({
    firstValue: ko.observable(true),
    secondValue: ko.observable(false)
});

<input data-bind="myBinding: firstValue, myBinding2: secondValue"/>
var-temp={
更新:函数(元素、值访问器){
var value=ko.utils.unwrapobbservable(valueAccessor());
警报(值);
}
};
ko.bindingHandlers.myBinding=temp;
ko.bindingHandlers.myBinding2=temp;
ko.applyBindings({
第一个值:ko.可观察(真),
第二个值:ko.可观察(假)
});

谢谢,您不能在同一个元素上使用两个相同的绑定,因为它们是内部键控的

您需要创建一个同时接受两个值的绑定或一个值数组,如:

data bind=“myBinding:[firstValue,secondValue]”

然后在每一个上都有一个操作员

否则,您可以按照建议执行操作,并创建多个指向同一函数的绑定