如何使用角度js在下拉列表中添加常量值?

时间:2016-01-06 06:58:04

标签: angularjs

我是Angular Js.的新手。我正在尝试在我的应用程序中使用角度常量,如下面的代码所示,我能够提醒常量值,但我无法通过使用ng-来绑定视图中的常量值重复

1.index.html

<html ng-app="objApp" lang="en">
<head>
<meta charset="UTF-8">
<title>Example</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js"></script>
<script src="jquery.min.js"></script>
<script src="app.js"></script>
<script src="controller.js"></script>
</head>
<body ng-controller="ObjectiveController">
<form>
<select>
<option ng-repeat="dropdown in dropdown.regular>{{dropdown.name}}</option>
 </select>
 </form>
 </body>
 </html>
  1. app.js

       var app = angular.module('objApp', ['ObjectiveControllers'])
       app.constant('dropdown', {
       regular: [
       {id: 1, name: 'daily'},
       {id: 2, name: 'Weekly'},
       {id: 3, name: 'Monthly'},
       {id: 4, name: 'Yearly'}
       ]
       });
    
  2. controller.js

    var objectiveControllers = angular.module('ObjectiveControllers', []);
    
    objectiveControllers.controller('ObjectiveController', ['dropdown', function (dropdown) {
    alert(dropdown.regular);
    }]);
    

4 个答案:

答案 0 :(得分:0)

你是否试图为重复的对象使用与你正在获取的名称相同的名称?

像那样:

ng-repeat="drop in dropdown.regular"

答案 1 :(得分:0)

您需要将下拉列表分配给$scope

$scope.dropdown = dropdown;

答案 2 :(得分:0)

将常量值分配给$ scope变量

    objectiveControllers.controller('ObjectiveController', ['dropdown', '$scope',function (dropdown, $scope) {
    $scope.dropdown=dropdown;
    }]);

这是工作plnkr

另见下文:

Constants & Values: Global Variables In AngularJS

AngularJS Modularization & Dependency Injection

答案 3 :(得分:0)

你需要使用常量变量并将$ scope变量赋值给它,因为常量不能像$ scope变量那样在dom中识别。

更改以下内容即可。

在js控制器中。

 $scope.val =  dropdown.regular;

和 在html中

     <select>
     <option ng-repeat="dropdown in val ">{{dropdown.name}}</option>
     </select>