离子自定义指令在仿真器

时间:2016-12-21 17:14:07

标签: angularjs ionic-framework

我正在使用自定义指令在Ionic 1中构建一个应用程序。这些在浏览器中进行测试时有效,但不会出现在模拟器或iPhone上。我已经看到这对其他人来说是一个问题,但没有一个建议对我有用。有没有关于如何使自定义指令出现在模拟器中(或者更重要的是,在iPhone上)的建议?

这是我尝试过的。这些都没有奏效。

  1. 将指令和控制器移动到同一个文件中
  2. 将元素指令更改为属性指令(即<div my-directive></div>而不是<my-directive></my-directive>
  3. 将CSS display: block添加到我的元素指令
  4. 在指令模板中的指令周围添加<ion-view><ion-content>标签,然后在父模板中的指令周围的模板之外添加angular.module('starter.directives', []) .directive('grid', function(GridFactory){ return { restrict: 'AE', templateUrl: '/templates/grid.html', link: function(scope){ //does stuff } } }) .directive('cell', function(){ return { restrict: 'AE', templateUrl: '/templates/cell.html', scope: { marker: '=', isAlive: '=', cellClick: '&' } } }) 标签。
  5. Link to my project on github

    以下是必不可少的代码:

    指令

      <div class="row" ng-repeat="row in grid" style="height: 5vw" >
        <div class="col gc-border gc-no-padding" ng-repeat="cell in row">
          <cell is-alive=isAlive(cell.marker) marker=cell.marker neighbors = cell.neighbors cell-click=cellClick(cell)></cell>
        </div>
      </div>
    

    指令模板

    <ion-view view-title="Play">
      <ion-content>
       <div class="card">
        <p>It rebuilt 2!</p>
         <grid></grid>
       </div>
      <div class="button-bar">
        <a class="button button-calm" on-tap="step()">Step</a>
        <a class="button button-calm" on-tap="play()">{{isPlaying ? "Pause" : "Play" }}</a>
        <a class="button button-calm" on-tap="clear()">Clear</a>
      </div>
      </ion-content>
    </ion-view>
    

    细胞

    父模板

    public static BufferedImage IplImageToBufferedImage(IplImage src) {
        OpenCVFrameConverter.ToIplImage grabberConverter = new OpenCVFrameConverter.ToIplImage();
        Java2DFrameConverter paintConverter = new Java2DFrameConverter();
        Frame frame = grabberConverter.convert(src);
        return paintConverter.getBufferedImage(frame,1);
    }
    

1 个答案:

答案 0 :(得分:1)

对于指令中的templateUrl,您有以下内容:

  .directive('grid', function(GridFactory){
  return {
    restrict: 'E',
    templateUrl: '/templates/grid.html',
    link: function(scope){
      scope.grid = GridFactory.makeGrid(20,20);
      scope.alive = [];
   ...

删除正斜杠:

templateUrl: '/templates/grid.html',

templateUrl: 'templates/grid.html',以及templateUrl的剩余部分。