[英]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.