如何将数据绑定值分配给 javascript 变量

How to assign data-bind value to javascript variable

本文关键字:javascript 变量 分配 数据绑定      更新时间:2023-09-26

新增 asp.net

        <div class="form-group">
            <div class="col-sm-5">
                <p>Showing results for FU <span data-bind="text: selectedFu() ? selectedFu().fuId : ''" /></p>
            </div>
        </div>
        @{
            var sfuId = "Bar";
        }
        @if (sfuId == "Bar") {
            <div class="form-group">
                <div class="col-sm-12">
                    <div class="warn">
                        <span data-bind="text: barDisclaimer"></span>
                    </div>
                </div>
            </div>
        }

工作,但我如何分配var sfuId = selectedFu() ? selectedFu().fuId.我已经尝试过var sfuId = ",data-bind="if:和ko.observable(),但似乎无法获得任何工作。

谢谢tkestowicz。 knockoutjs.com 是一个很棒的网站。如果我弄清楚了,我会通读并发布。

标题(或代码)错误。这:

    @{
        var sfuId = "Bar";
    }

不是JavaScript,它是用Razor语法编写的C#代码。看看这个例子,你似乎想在C#下访问JavaScript对象。这是不可能的,因为 C# 代码是在 JavaScript 执行之前编译的。您只能执行相反的操作 - 将 C# 值传递给 JS。

我认为你误解了剃刀的目的。它是一个服务器端模板引擎,这意味着所有代码在浏览器中呈现之前都会执行。另一方面,Knockout是一个JavaScript(客户端)库。

使用 KO 模板 (http://knockoutjs.com/documentation/template-binding.html) 而不是 Razor 使其正常工作。

我不知道

ASP 或 C#,但在 JavaScript 中,这就是我的做法

my_node = document.querySelector("some_node");
// normal/safe method
my_node.getAttribute("data-task");
my_node.setAttribute("data-task", "new_value");
// be modern
my_node.dataset.task;
my_node.dataset.task = "new_value";

我正在寻找数据绑定="可见Tkestowicz建议的网站非常有帮助。

        <div class="form-group">
    <div class="col-sm-5">
        <p>Showing results for FU <span data-bind="text: selectedFu() ? selectedPpo().fuId : ''" /></p>
    </div>
</div>
<div class="panel-body form-horizontal" data-bind="visible: selectedFu() ? selectedFu().fuId : false">
    <div class="form-group">
        <div class="col-sm-12">
            <div class="warn">
                <span data-bind="text: barDisclaimer"></span>
            </div>
        </div>
    </div>
</div>