Angularjs - 使用控制器

时间:2016-01-15 09:51:01

标签: angularjs

我是Angular.js的新手。我目前有以下HTML代码,我用我的文件html(div)和我的控制器(ng-include)定义我的ng-controller

<div id="customerinformation-maxi" ng-include="'pages/customerinformation-maxi.html'" ng-controller="customerInformationMaxiController" class="col-md-12"></div>

这是指令ng-includecustomer-information.html)中被叫html的html代码:

<div class="row">
    <div class="col-md-2">
        <span>Customer Number</span>
        <span>{{customer.number}}</span>
    </div>
    <div class="col-md-2">
        <span>Portfolio</span>
        <span>{{custom.portfolio}}</span>
    </div>
</div>

这是js控制器:

angularRoutingApp.controller('customerInformationMaxiController', function($scope, $http) {
    //Here i need to load the model variable with a literal text {{customer.number}} and {{customer.portfolio}}, how could do it? using scope object? with a json file?
});

在这里,我需要使用文字文本{{customer.number}}{{customer.portfolio}}加载模型变量。 怎么办呢?使用范围对象?用json文件?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

是的,您应该使用$scope对象来执行此操作。

要获得一般概述,这是一个问候世界的例子:

<div ng-controller="HelloController">
   {{ helloMessage }}
</div>

在你的控制器代码中(js文件或脚本标签到html中):

var myApp = angular.module('myApp',[]);

myApp.controller('HelloController', ['$scope', function($scope) {
  $scope.helloMessage= 'Hello World!';
}]);

但是我预见在你提出的问题片段中有一些嵌套,所以你可能正在处理一组对象,这意味着你必须使用ng-repeat指令在html部分中迭代它。 ,像:

<tr ng-repeat="customer in customers>
    <td>{{customer.number}}</td>
    <td>{{customer.portfolio}}</td>
</tr>

因此,您的控制器的功能应包含customers对象,例如:

angularRoutingApp.controller('customerInformationMaxiController', function($scope, $http) {
    var customers=[
                {
                    number:'123',
                    portfolio: 'blah blah'
                },
                {
                    number:'124',
                    portfolio: 'blah blah'
                },
                {
                    number:'125',
                    portfolio: 'blah blah'
                }
               ];
});

为了进一步参考,你可以阅读我写的两个例子:

第二个只是查看遍历集合的示例用法,并不意味着您必须使用json,正如您在问题中所述;但是我看到你还在控制器中定义了$http服务,所以如果它是关于将从远程目标获取的数据,那么JSON获取示例应该可以帮助你更好。) < / p>

答案 1 :(得分:0)

您应该使用范围对象为模态变量赋值。

angularRoutingApp.controller('customerInformationMaxiController', function($scope, $http) {
   $scope.customer.number = 'sample number';
   $scope.customer.portfolio = 'sample portfolio';
});