Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html模板中的更改不反映_Javascript_Angularjs_Geonetwork - Fatal编程技术网

Javascript html模板中的更改不反映

Javascript html模板中的更改不反映,javascript,angularjs,geonetwork,Javascript,Angularjs,Geonetwork,我正在尝试向GeoNetwork 3地图查看器添加一些按钮。不幸的是,我不熟悉AngularJS,GN3就是用它写的。因此,我所做的是编辑“gnMainViewer”指令正在使用的html模板 ViewerDirectve.js: module.directive('gnMainViewer', [ 'gnMap', function(gnMap) { return { restrict: 'A', replace: true, scope: true, te

我正在尝试向GeoNetwork 3地图查看器添加一些按钮。不幸的是,我不熟悉AngularJS,GN3就是用它写的。因此,我所做的是编辑“gnMainViewer”指令正在使用的html模板

ViewerDirectve.js:

module.directive('gnMainViewer', [
'gnMap',
function(gnMap) {
  return {
    restrict: 'A',
    replace: true,
    scope: true,
    templateUrl: '../../catalog/components/viewer/' +
        'partials/mainviewer.html',
[...]
}]);
在此模板中,我可以找到地图视图中显示的按钮

mainviewer.html:

  <div class="wrapper" data-ng-controller="gnViewerController">

  <div data-gn-alert-manager=""></div>
  <div id="map" ngeo-map="map" class="map"></div>
  <div gn-gfi="" map="map"></div>
  <div gn-localisation-input map="map"></div>

  <!--Top right buttons - Tools-->
  <div class="tools tools-right" gi-btn-group gnv-close-panel data-ng-controller="toolsController">
    <button class="btn btn-default" ng-model="activeTools.addLayers" type="submit"
            rel="#addLayers" gi-btn gnv-tools-btn>
      <span class="fa fa-plus"></span>
      <span role="tooltip" data-translate="">addLayers</span>
    </button>
    <button class="btn btn-default" ng-model="activeTools.layers" type="submit"
            rel="#layers" gi-btn gnv-tools-btn>
      <span class="fa fa-tasks"></span>
      <span role="tooltip" data-translate="">Layers</span>
    </button>

[...]
</div>
</div>

添加层
层
[...]
所以我添加了一个按钮,比如:

<button class="btn btn-default" ng-model="" type="submit"
            rel="#" gi-btn gnv-tools-btn>
      <span class="fa fa-beer"></span>
      <span role="tooltip">NewButton</span>
    </button>

纽布顿
添加到模板

然后,我保存了更改的地图并刷新了服务器上的MapView页面。但不会显示新按钮。此外,将注释“右上角按钮”更改为其他按钮不会对显示的MapView页面进行任何更改。 即使重新启动服务器也不会改变任何事情


有人能解释一下为什么AngularJS会做出这样的反应吗?有什么想法吗?

原来我必须在调试模式下运行页面,例如。
强制单独加载所有AngularJS文件且不带缓存。

您确定编辑的模板正确吗?你的方法似乎还可以。就我所能说的,是的。它是包含此视图中显示的按钮的唯一模板。不幸的是,当我在chrome开发者控制台中查看请求时,这个模板没有加载。无论如何,这些按钮都会显示出来,所以应该加载到那里-对吗?我找到的是一个名为gn_search_default.js的文件,它使用$templateCache.put(“../../../catalog/components/viewer/partials/mainviewer.html”“,[…html elements..”;所以我想这就是加载html模板的方式。但是我的更改没有反映在这些文件中正在放置的[html元素]。通过阅读$templateCache的文档,似乎该模板在第一次加载时已被缓存…请尝试清除浏览器的缓存并重新加载页面,以查看您的更改是否可见。这是有道理的,但我使用Ctrl+F5和Ctrl+Shift+R来刷新和删除“当DevTools打开时缓存被禁用”也被激活,而且我已经清除了我的整个浏览器历史记录,这只是为了确定。