如何将值传递给AngularJs中的指令?

时间:2014-04-24 16:16:30

标签: angularjs angularjs-directive

如何将值传递给指令并将其显示在模板中?

http://plnkr.co/edit/1uFEBi?p=preview

最终,我创建了一个允许用户创建,编辑和删除内容的应用程序。我需要能够通过周围的事物来实现这个目的。我不确定这样做的角度方式是什么。插件是我的尝试,但它不起作用。

非常感谢任何帮助。谢谢。

3 个答案:

答案 0 :(得分:1)

更改模板中的以下内容

<script type="text/ng-template" id="select-block-type.html">
  <p>Block Id = **{{lrBlockId}}**</p>
</script>

答案 1 :(得分:1)

你去的地方: http://plnkr.co/edit/i5FPqeDuCtTK5zqINtsV?p=preview

你输错了它应该是{{lrBlockId}}

答案 2 :(得分:0)

我在实际的plunker中没有看到模板。但是,我认为它有问题因为无法找到tempalte。这是一个有效的更新plunker

我使用一些JavaScript magic来创建指令模板的动态路径:

var scripts = document.getElementsByTagName("script");
var currentScriptPath = scripts[scripts.length-1].src;

var app = angular.module('LaunchRockApp', []);

app.controller("MainController", function($scope){});

app.directive('selectBlock', function(){
    return {
        scope: {
            lrBlockId: '='
        },
        templateUrl: currentScriptPath.substring(0, currentScriptPath.lastIndexOf('/') + 1) + 'select-block-type.html',
    };
});

我还添加了一个select-block-type.html文件:

Template

{{lrBlockId}}

我没有注意到内联模板。在这种情况下,只需modify it就像我上面所做的那样删除&#39; - &#39;在您要输出的变量中:

<script type="text/ng-template" id="select-block-type.html">
  <p>Block Id = {{lrBlockId}}</p>
</script>