Javascript [(ngModel)]绑定总是字符串吗?

Javascript [(ngModel)]绑定总是字符串吗?,javascript,angular,typescript,Javascript,Angular,Typescript,考虑角度应用程序中的radiobutton HTML元素 <div class="radio"> <label> <input type="radio" name="approvedeny" value="true" [(ngModel)]=_approvedOrDenied> Approve </label> </div> 但是,当单步执行客户端代码时,会将其设置为字符串。我的代码中没

考虑角度应用程序中的radiobutton HTML元素

  <div class="radio">
    <label>
      <input type="radio" name="approvedeny" value="true" [(ngModel)]=_approvedOrDenied>
      Approve
    </label>
  </div>
但是,当单步执行客户端代码时,会将其设置为字符串。我的代码中没有任何类型转换可以做到这一点,看起来angular是自动做到的


是否所有数据绑定属性都以字符串形式返回?如果是这样,那么在typescript中声明类型
\u approvedOrDenied:boolean
又有什么意义呢?

从html中删除
value=“true”
,它应该可以工作

不,它并不总是一个字符串。顺便说一下,这是我第一次看到没有引号的标签

当你用这样的输入制作一个组件时

<app-my-component firstVariable="hello world"></app-my-component>

我希望我能帮忙

我想这是因为官方文档说模型是任何类型的,所以我这样做了,单选按钮不能正常工作。(我无法点击批准按钮,它被卡在拒绝上。谢谢,是的,这对我很有用。)。我会再读一遍,试着理解你说的话。“这是我第一次看到没有引号的标签”是什么意思?你是说这句话:
[(ngModel)]=\u approvedOrDenied
(与
“\u approvedOrDenied”
)是的,这就是我的意思,我从来没有用过引号,所以对我来说有点吃惊,但我很高兴知道它是这样工作的!从现在起,我将保存两次击键:pCaveat:它似乎可以工作。我最初有引用,但在这里调试的过程中,我删除了它们。这并不是说我没有因此破坏其他东西:)但是代码编译和运行是这样的…所以我猜一旦我的代码是浏览器端的,使用typescript强制执行
布尔值
变量类型的事实就是废话?毕竟,你可以将字符串“true”解析为布尔值,将数字1解析为布尔值,因此,一旦建成,它就不应该成为问题!
<app-my-component firstVariable="hello world"></app-my-component>
<app-my-component [firstVariable]="hello world"></app-my-component>
<app-my-component [firstVariable]="'Hello world'"></app-my-component>
[value]="true"