我已经在这30分钟了,无法弄清楚我做错了什么......
HTML:
<div ng-controller="main">
<div ng-style="mapheight">
<google-map center="center" zoom="zoom" style="height: inherit;"></google-map>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
控制器:
angular.module('csApp.controllers', ["google-maps"]).
controller("main", function($scope) {
$scope.mapheight = "{'min-height':" + getHeight() + "px;}";
$scope.center = {
latitude: 45,
longitude: -73
};
$scope.zoom = 8;
function getHeight() {
return (window.innerHeight * .70);
}
})
Run Code Online (Sandbox Code Playgroud)
根本没有样式应用于我的div.
当我将{{mapheight}}放在我的模板中时,我可以通过变量传递它但是我必须将它传递给style属性,这显然不是我应该怎么做的.
我在这做错了什么?这是我有角度的第一天,我几乎流泪,因为我甚至无法调整div的大小.
谢谢!
这是我的控制器的变化:
$scope.mapHeight = { 'min-height': getHeight() };
Run Code Online (Sandbox Code Playgroud)
And*_*ger 32
ng-style采用对象绑定,因此$scope.mapheight应该是对象而不是字符串.即
$scope.mapheight = {
'min-height': getHeight() + "px"
};
Run Code Online (Sandbox Code Playgroud)
该ng-style属性采用表达式,因此将字符串版本直接放在HTML中
ng-style="{'min-height': '40px'}"
Run Code Online (Sandbox Code Playgroud)
将会工作,因为它将被评估,并将创建一个对象.设置ng-style="mapheight"被评估为取值mapheightfrom,$scope因此$scope.mapheight需要成为一个对象.
| 归档时间: |
|
| 查看次数: |
34428 次 |
| 最近记录: |