gpt4 book ai didi

javascript - 为什么我无法访问指令 html 中的 Controller 功能?

转载 作者:行者123 更新时间:2023-12-03 12:15:03 24 4
gpt4 key购买 nike

我正在尝试从第三方指令的标记中调用 Controller 中定义的函数。奇怪的是,我可以很好地访问常规变量,但函数似乎根本不显示。

我的 Controller 的一部分:

$scope.map = {
control: {},
center: {
latitude: 45,
longitude: -73
},
zoom: 8,
currentMarker:{id:-1, coords: {latitude: 45, longitude: -73}},
wndoptions:{
boxClass: 'bubble'
}
};

[...]

$scope.moveMarkerUp = function(){
alert('Do things here');
};

和标记:

<div ng-app="App" ng-controller="MapCtrl">
<input type="button" value="U" ng-click="moveMarkerUp()" ng-show="showWnd"></input>
<google-map center="map.center" zoom="map.zoom" ng-show="true" draggable="true" control="map.control">
<window coords="map.currentMarker.coords" show="showWnd" options="map.wndoptions">
<div >
Marker {{showWnd}}
<input type="button" value="Up" ng-click="moveMarkerUp()" ng-show="{{showWnd}}"></input>
</div>
</window>
<markers models="markers" coords="'coords'" click="'clk'"></markers>
</google-map>
</div>

因此,当按下第一个按钮时,该函数会按预期触发,但在窗口标记内的第二个按钮没有任何反应,但是当我评估诸如 mapshowWnd< 之类的变量时 在这里,它们确实显示了正确的值。我什至尝试在 map 对象内设置一个函数,但是当以这种方式打印出来时,函数变量甚至没有在对象中列出。

最佳答案

window 指令创建一个子作用域,并且您的函数存在于父作用域中。尝试像这样引用 ng-click="$parent.moveMarkerUp()"

关于javascript - 为什么我无法访问指令 html 中的 Controller 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24759702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com