Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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_Knockout.js - Fatal编程技术网

Javascript 如何将多个属性绑定到元素?

Javascript 如何将多个属性绑定到元素?,javascript,knockout.js,Javascript,Knockout.js,我在玩knockout,不知道如何将多个对象属性绑定到一个元素 这是我的模板,我尝试了data bind=“text:name.first name.last”: 年龄: 公司: 在angular中,我会使用ng repeat并执行类似于{{name.first}{{{name.last}}的操作,但我不希望为此项目加载angular如下: 或者,如果这些项目是可观察的: 或者,如果你想在你的视野中保持事物的独立性: 或者,如果您希望尽可能地模拟角度: 或者,如果您希望单元

我在玩knockout,不知道如何将多个对象属性绑定到一个元素

这是我的模板,我尝试了
data bind=“text:name.first name.last”


年龄:

公司:


在angular中,我会使用ng repeat并执行类似于
{{name.first}{{{name.last}}
的操作,但我不希望为此项目加载angular

如下:


或者,如果这些项目是可观察的:


或者,如果你想在你的视野中保持事物的独立性:


或者,如果您希望尽可能地模拟角度:


或者,如果您希望单元测试/将其转换为业务逻辑,请执行以下操作:



作为脚注,KnockoutJS和AngularJS之间存在一些相关差异:

  • 在Knockout中(没有插件)没有AngularJS括号样式(例如,
    {{name.first}}
    )的直接等价物
  • 在KnockoutJS中,可观察属性是函数(而Angular可以跟踪对普通JS属性的更改)。如果括号是唯一要绑定的对象,则只能(可选地)省略它。所以假设
    第一个
    是一个可观察的,这些工作:

    快捷方式。。。
    相当于以前的。。。
    ()现在需要。。。
    
    但这并不是:

    !不行!
    
    • 像这样:

      
      
      或者,如果这些项目是可观察的:

      
      
      或者,如果你想在你的视野中保持事物的独立性:

      
      
      或者,如果您希望尽可能地模拟角度:

      
      
      或者,如果您希望单元测试/将其转换为业务逻辑,请执行以下操作:

      
      

      作为脚注,KnockoutJS和AngularJS之间存在一些相关差异:

      • 在Knockout中(没有插件)没有AngularJS括号样式(例如,
        {{name.first}}
        )的直接等价物
      • 在KnockoutJS中,可观察属性是函数(而Angular可以跟踪对普通JS属性的更改)。如果括号是唯一要绑定的对象,则只能(可选地)省略它。所以假设
        第一个
        是一个可观察的,这些工作:

        快捷方式。。。
        相当于以前的。。。
        ()现在需要。。。
        
        但这并不是:

        !不行!
        

      你不喜欢,反正也不喜欢那样。您正在绑定一个值,因此必须将属性组合到单个值。不管是内联的还是首选的,作为一个计算属性。Jeff所说的,或者引入额外的html元素
      ,你都不喜欢,反正不是这样。您正在绑定一个值,因此必须将属性组合到单个值。可以是内联的,也可以是首选的,作为计算属性。Jeff说了什么,或者引入额外的html元素
      function Name() {
        var self = this;
        self.first = ko.observable();
        self.last = ko.observable();
        self.fullname = ko.computed(function() {
          return self.first() + " " + self.last();
        });
      }