繁体   English   中英

无法从AngularJS中的控制器初始化对象

[英]Unable to initialize object from controller in AngularJS

小提琴看起来像这样:

 var app = angular.module('testApp', []); app.controller = angular.('testAppCtrl', function ($scope) { $scope.vehicle = { type: 'car', color: 'red' }; $scope.vehicleDetail() = function () { return "Vehicle type : " + vehicle.type + ", " vehicle.color; }; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="testApp" ng-controller="testAppCtrl"> <h1> AngularJS object ng-init powered by controller example </h1> Type: <input ng-model='vehicle.type' /> <br/> Color: <input ng-model='vehicle.color'/> Vehicle details : {{vehicleDetail()}} </div> 

我试图使用功能而不是ng-init从控制器内部初始化对象。

问题

为什么值没有打印出来?

您的代码应如下所示正确,

这是您需要定义控制器的方式,不像app.controller = angular.('testAppCtrl', function ($scope) {

app.controller('testAppCtrl',function($scope)...

这就是你需要如何返回函数值vehicleDetail ,在你的回报情况下,你不能访问vehicle样特性vehicle.color ,你需要访问它像$scope.vehicle.color因为vehicle是在范围内。 并且此$scope.vehicleDetail() = function () {..是错误的,应将其更正为$scope.vehicleDetail = function () {..

$scope.vehicleDetail = function()
{
    return "Vehicle type : " + $scope.vehicle.type + ", "+ $scope.vehicle.color;
};

这是演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM