Knockout 自定义元素可以将params属性绑定到像Component绑定的对象吗?
例如,我定义了以下组件:
ko.components.register('user-widget', {
template: '<p><span data-bind = "text:fullName" ></span></p>',
viewModel: function (params) {
this.fullName = params.firstName + ' ' + params.lastName;
}
});
Run Code Online (Sandbox Code Playgroud)
以下VM:
function VM() {
this.user = {
firstName: 'Joe',
lastName: 'Baker'
};
}
Run Code Online (Sandbox Code Playgroud)
使用组件绑定时,我可以将VM的用户属性直接传递给params属性,如下所示:
<div data-bind='component:{name:"user-widget", params:user}'></div>
Run Code Online (Sandbox Code Playgroud)
但是,当使用自定义元素时,我必须取消用户属性,如下所示:
<user-widget params="firstName:user.firstName, lastName:user.lastName"></user-widget>
Run Code Online (Sandbox Code Playgroud)
我尝试使用带有组件绑定的自定义元素,如下所示:
<user-widget data-bind='component:{params:user}'></user-widget>
Run Code Online (Sandbox Code Playgroud)
这导致以下错误:
不能在与组件匹配的自定义元素上使用"组件"绑定
是否有命令行实用程序来修改oracle客户端的tnsnames.ora文件?
[编辑]我正在寻找类似于odbcconf.exe(用于编辑Windows上的ODBC连接)的东西来修改tnsnames.ora文件.
[编辑2]我在自动构建脚本中使用MSBUILD.该的MSBuild社区任务项目具有适合正是我所需要的AddTnsName任务.我的谷歌搜索技巧一定很弱.我应该一直在搜索MSBuild和tnsnames.ora而不是命令行tnsnames.ora.但是,Oracle确实没有为tnsnames.ora提供odbcconf之类的命令行实用程序.
在这个小提琴https://jsfiddle.net/8279akmL/11/中,我试图将“ test”元素绑定到名为currentPlaceViewModel中可观察到的变量。我正在使用以下敲除语句:
ko.applyBindingsToNode(document.getElementById("test"),{text: currentPlace().name});
Run Code Online (Sandbox Code Playgroud)
但是,div绑定到列表项locations[0](绑定时currentPlace指向的项)而不是列表currentPlace本身。
当我更新currentPlace以指向其他列表项时locations[1],div不会更新。
在示例中,div当我更改时,唯一的更新是将其locations[0]更改为“ FOOBAR”。
如何将'div'绑定到currentPlace而不是locations[0]。