控制器的值不会显示
问题描述:
我想在我的Django应用程序中引入Angular。我怀疑,我的问题与interpolateProvider
直接相关,这是因为django模板而需要的......但是谁知道。控制器的值不会显示
我也有简化版本的一个问题:http://jsfiddle.net/33417xsm/
这是我目前的版本:
<html ng-app="MyApp">
<head>
<script type="text/javascript" src="/static/js/libs/angular/angular.js"></script>
<script type="text/javascript" src="/static/js/app/app.js"></script>
</head>
<body>
<div ng-controller="MyAppController">
[[ 2 + 4 ]]
<p>[[ MyAppController.product.title ]]</p>
</div>
</body>
</html>
文件:app.js
(function(){
var app = angular.module('MyApp', []);
app.config(function ($interpolateProvider) {
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
}
);
app.controller('MyAppController', function(){
this.product = gem;
});
var gem = {
'title': 'Inferno'
};
})();
我的结果:
你可以猜到,我也想显示Inferno
。我做错了什么?
答
你的应用程序配置没问题。但是我明白,你并不清楚角度概念。
您必须使用$ scope来绑定数据。你也不需要像这样的符号“myController.product”。
我更新了你的代码http://jsfiddle.net/33417xsm/4/
<div ng-app="MyApp" ng-controller="MyAppController">
{{ 2 + 4 }}
<p>{{product.title}}</p>
</div>
var app = angular.module('MyApp', []);
app.controller('MyAppController', function ($scope){
$scope.product = {"title":"product title"};
});
所以,这是错的? http://i.imgur.com/nySbsOI.png – noisy 2014-11-24 22:51:05
不,这没有错,但它不是最佳实践。您可以清楚地看到差异,我在这里更新http://jsfiddle.net/33417xsm/6/ – 2014-11-24 22:54:40
我找到了两种方法的截屏:https://egghead.io/lessons/angularjs-an-alternative-approach-到控制器 – noisy 2014-11-30 18:47:30