从开发者控制台设置值或使用自制 "button"

Set value from developer console or using the self-made "button"

我 运行 遇到了无法从开发人员控制台 (Chrome) 或使用自制 "button" 为字段设置任何值的问题浏览器 我曾经使用这种方法:

document.getElementById('someId').value = 'someValue';

它像下面的视频一样工作: https://youtu.be/SBTQmDVOpOw?t=14

但目前这种方法不适用于Knockout.js

我在这个主题中找到了答案: 但它对我不起作用。所以,我有以下标签:

<input class="md-input__textfield" id="parameterName" type="text" name="parameterName" maxlength="100" data-bind="value: parameterName">

我正在尝试这样做:

var vm = ko.dataFor(document.body);
vm.parameterName('somevalue');

我在控制台中收到以下消息:

Uncaught TypeError: Cannot read property 'parameterName' of undefined at <anonymous>:1:41

如何解决问题并放值?

您正在检索绑定到 document.body 的 viewmodel knockout。具有 value 绑定的 input 元素可能具有完全不同的绑定上下文。您应该直接定位它,例如:

const vm = ko.dataFor(document.getElementById("parameterName"));
vm.parameterName("someValue");