在指令中使用变量之前如何加载变量?

时间:2015-07-20 00:17:11

标签: angularjs load expression directive ui-sref

我正在尝试为动态自定义工具栏开发一个指令,其中包含一个标题块和基于用户所在视图的CRUD操作链接。对于CRUD操作链接,我试图传递ui-router状态信息。只要我将CRUD链接的静态字符串传递给指令,该指令就可以正常工作;但是,当我尝试使用参数传递ui-state时失败,如下面的代码所示。似乎在评估ui-state参数之前加载了指令模板。感谢是否有人可以推荐修复。

指令:navbarForm.js

angular.module('myApp').directive("navbarForm", function() {
    return {
       replace: true,
       restrict: "E",
       templateUrl: '/assets/templates/directives/navbarForm.html',
       scope: {
         title: '@',
         addLink: '@',
         editLink: '@'
       }
    }
});

模板:navbarForm.html

<div class="container-fluid navbar-fixed-top">
  <div class="row">
    <div class="title">
      <p>{{title}}</p>
    </div>
    <div>
      <ul>
        <li ng-if="addLink" class="action">
          <a ui-sref="{{addLink}}" class="ion-ios-plus-empty"></a>
        </li>
        <li ng-if="editLink" class="action">
          <a ui-sref="{{editLink}}" class="ion-ios-compose-outline"></a>
        </li>
      </ul>
    </div>
  </div>
</div>

查看:taskDetail.html ---此作品

<navbar-form
  title = "My Title"
  add-link = "taskAdd()">
</navbar-form>

<!-- markup to show task detail -->

查看:taskDetail.html ---此操作失败

<navbar-form
  title = "My Title"
  edit-link = "taskEdit({id:task.taskId})">
</navbar-form>

<!-- markup to show task detail -->

0 个答案:

没有答案