我已经使用angular制作了一个使用highmaps的指令,地图正在渲染。我需要将最终配置的对象传递回控制器。因此,我在指令中分配这样的,
$timeout(function() {
scope.mapconfigured = mapConfig;
});
最初我定义了这样的控制器,
app.controller('mainCtrl', function($scope, DB) {
$scope.mydata = DB.getStatesData();
$scope.mapconfigured = {};
}
但是 mapconfigured 变量没有在指令中更新,控制器也没有打印出我真正需要的内容。
我最初也将mapconfigured变量分配给指令
<my-map mapconfigured="mapconfigured" mydata="mydata" header="'Highmap Demo'"></my-map>
这里有什么问题?这是 APPLICATION
预期输出
我需要将 mapConfig 对象分配给控制器内的 mapconfigured 范围变量。
答案 0 :(得分:0)
那是因为您在范围指令中使用了 mapconfigured ,并且在链接指令中尝试使用数据定义 mapConfigured 。
替换为此代码:
$timeout(function() {
scope.mapconfigured = mapConfig;
});
答案 1 :(得分:0)
正如Ivan在评论中提到的,这是一个错字,我在控制器中声明了范围变量&#39; mapconfigured&#39;但是在我指派给&#39; mapConfigured&#39;的指令中,这样改变了
<my-map mapconfigured="mapconfigured" mydata="mydata" header="'Highmap Demo'"></my-map>
$timeout(function() {
scope.mapconfigured = mapConfig;
});