【问题标题】:How can ng-options work wtihout a controller?ng-options 如何在没有控制器的情况下工作?
【发布时间】:2019-05-02 13:49:19
【问题描述】:

我有一个字符串数组['One', 'Two', 'Three'],我想在我的Angular 组件中用作<option> 标签。我不想使用控制器。我只想使用 ng-options。这是如何工作的?

在组件中我有变量声明:

array: String[] = ['One', 'Two', 'Three'];
selectedString: String = 'Two';

在组件的 HTML 文件中,我有:

<div [ngClass]="setClasses()">
    <select id="testCodeSelect" name="testCodeSelect" ng-model="selectedCode">
        <option *ngFor="let code of codes" value="code.alphabetic">{{ code.alphabetic }}</option>
    </select>
    <select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="test as test in array"></select>
</div>

不起作用的事情:

<select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="test for test in array"></select>
<select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="test as test for test in array"></select>
<select id="codeSelect" name="codeSelect" ng-model="selectedString" ng-options="item for item in ['One', 'Two', 'Three']"></select>

【问题讨论】:

  • 分享你尝试过的代码。
  • 我已经用更多信息更新了帖子。组件只有两个文件,一个 TS 文件和一个 HTML 文件。
  • 您正在混合使用 AngularJS 和 Angular 语法。 *ngFor[ngClass] 是 Angular,ng-for{{}} 是 AngularJS,等等

标签: angularjs dropdown ng-options


【解决方案1】:

看起来您要求的是- `

<select ng-init="colors = [{ name:'1', shade: '1s' },{ name:'2', shade: '2s' },{ name:'3', shade: '3s' }]" ng-model="myColor" ng-options="color.shade for color in colors"></select>

<select ng-init="colors = ['one','two', 'three']" ng-model="myColor" ng-options="color for color in colors"></select>


<select ng-model="myColor" ng-options="color for color in ['one','two', 'three']"></select>

`

编码愉快!

【讨论】:

  • 你定义了你的“ng-app”吗?
  • 您可以在embed.plnkr.co/cB0jSd 中尝试这些代码 .... 这些代码被认为是“工作”...如果它仍然无法在您的位置工作,请为您的代码构建一个“plnkr”并在这里分享一下,我们或许会找到真正的原因。
  • 我不认为 plnkr 可以解决这个问题,因为问题可能出在我的项目配置上。你能看看吗? github.com/Belteshazzar89/moneymap
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多