我正在使用角度在前端和django作为后端,编写smll东西来学习angular.I我正在尝试显示我在scope中定义的变量。我正在加载html作为锚标签的部分onclick。 这是我的app.js,它有我的路由器设置:
var blogApp = angular.module('blogApp',['ngRoute'])
blogApp.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('{$');
$interpolateProvider.endSymbol('$}');
});
blogApp.config(['$routeProvider',function($routeProvider){
$routeProvider.
when('/login', {
templateUrl: 'static/partials/login.html',
}).
when('/register',{
templateUrl:'static/partials/register.html',
}).
when('/shoppingcart', {
templateUrl:'static/partials/shopping_cart.html',
controller:'CartController'
}).
otherwise({
redirectTo: '/'
});
}]);
这是我定义的CartController:
blogApp.controller('CartController', function($scope){
$scope.items = [
{title: 'Paint pots', quantity: 8, price: 3.95},
{title: 'Polka dots', quantity: 17, price: 12.95},
{title: 'Pebbles', quantity: 5, price: 6.95}
];
});
我已经包含了包含我的CartController的js以及定义了我的路由的js。我的部分(称为shopping_cart.html)是这样的:
<div ng-controller='CartController'>
<h3>Your Cart</h3>
<div ng-repeat="item in items">
<span>{% item.title %}</span>
<input ng-model="item.quantity">
<span> {% item.price|currency %} </span>
<span> {% item.price * item.quantity | currency %} </span>
<button ng-click="remove($index)">Remove</button>
</div>
</div>
有趣的问题是item.quantity正确显示,但item.title,item.price等显示在我的输出中。如果它显示item.quantity这意味着item变量包含定义的变量,即使我把item.title放在输入中代替item.quantity它显示变量,但{%item.title%}本身永远不会显示。请指出我的错误,并善意解释为什么会发生这种情况。
答案 0 :(得分:0)
这看起来像是一个错字。
在您的配置中,您可以覆盖开始和结束符号,以便插值到&#39; {$&#39;和&#39; $}&#39;,但在您的模板中,您使用&#39; {%&#39;和&#39;%}&#39;代替。用$替换%,它应该工作。