我无法在AngularJS中显示表达式。下面是我的HTML代码。
[l[i:] for i,e in enumerate(reversed(l))]
这是<!DOCTYPE html>
<html data-ng-app="appname">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script src="javascript.js"></script>
</head>
<body>
<div data-ng-controller="appCtrl">
<p>{{appname.product.name}}</p>
</div>
</body>
</html>
档案:
javascript.js
网页仍会显示:(function () {
var appname = angular.module('appname', []);
var gem = {
name: "Ring",
price: 2.9,
Description: "",
};
appname.controller('appCtrl', function () {
this.product = gem;
});
});
。
答案 0 :(得分:1)
您需要在控制器和视图中包含范围
改变你的代码:
控制器:
var appname = angular.module('appname', []);
appname.controller('appCtrl', function($scope)
{
$scope.gem = {
name:"Ring",
price:2.9,
Description:"",
};
});
HTML:
<html data-ng-app="appname">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script src="javascript.js"></script>
</head>
<body>
<div data-ng-controller="appCtrl">
<p>{{gem.name}}</p>
</div>
</body>
</html>
这是codepen链接: http://codepen.io/anon/pen/epgmGd
答案 1 :(得分:1)
你正在以错误的方式做很多事情。
如果您想关注&#39;这个&#39;使用&#39; as&#39; 语法(与范围相反)方法。
在你的标记中:
<div data-ng-controller="appCtrl as app">
<p>{{app.product.name}}</p>
</div>
在您的控制器中:
this.product = {
name:"Ring",
price:2.9,
Description:"",
};
答案 2 :(得分:1)
有两种方法可以解决这个问题:
首先使用$scope
方式:
var appname = angular.module('appname', []);
appname.controller('appCtrl', function ($scope) {
$scope.gem = {
name: "Ring",
price: 2.9,
Description: "",
};
});
现在将您的视图修改为:
<div data-ng-controller="appCtrl">
<p>{{product.name}}</p>
</div>
您使用的另一种方式是this
方式:
var appname = angular.module('appname', []);
appname.controller(function() {
this.gem = {
name: "Ring",
price: 2.9,
Description: "",
};
});
并将您的观点修改为:
<div data-ng-controller="appCtrl as main">
<p>{{main.product.name}}</p>
</div>
另外,就像评论中提到的@ryanyuyu一样,你需要立即调用你的函数:像这样:
(function () {
// Your code
})(); // Add () at last
答案 3 :(得分:0)
可能没有证件的案件。
在我的情况下,我有$window
级变量,我在$scope
级别声明的名称相同。
更改其工作的变量名称后。
奇怪,因为它确实在js代码中识别$scope
级别变量,但是当它将值放入表达式时会让人感到困惑。
//Global JS variable
var currentLocationName = "Nice Location";
我正在$scope
级复制这个全局变量。
$scope.currentLocationName = $window.currentLocationName;
并且正在HTML
视图中的表达式中使用它。
<b>Your current location is {{ currentLocationName }}</b>
这不起作用。我更改了$scope
级别的名称,但它确实有效。
我的两分钱!