繁体   English   中英

Angular:将参数发送到指令的正确方法

[英]Angular: Correct way to send parameters to directive

我对Angular有点新意,我试图抓住如何以“正确”的方式利用Angular指令。

我的用例是我正在使用Angular和ThreeJS开发一个3D项目查看器。 用户可以拥有可供他查看的不同“项目”。

我们想要利用项目识别的方式是通过url参数,以便一个人能够将特定项目链接到其他人进行查看。

Viewer / Renderer被定义为一个指令,因此我们可以将查看器定义如下

...
    <viewer></viewer>
...

据我了解,有一些不同的方法将url参数传递给viewer-directive,我正在尝试利用$ stateParams从url访问参数。 但是当我继续工作时,没有“明确”的方式来访问$ stateParams,但你必须将控制器连接到指令,然后从那里访问它。

这是预期的方法吗? 或者我应该将其定义为viewer指令的属性? 如果是这样,我如何访问html代码中的url参数? 还是有第三个更好的选择?

你可能已经明白我对角度有点新意了,我主要是希望能够掌握Angular的用途,所以我现在开始时并没有太多关注。

最好的问候,大卫。

你可以url parameters via scope访问你的url parameters via scope ,因为你将传递一个字符串,所以@在这里更有意义:

scope: {
    datasource: '@'
}

在您的指令中,您可以传递这样的值:

<viewer datasource={{urlParamValue}}></viewer>

在你的controller ,你可以像这样收集url params:

function Controller($scope, $location){
    var urlParamValue = $location.search().urlParamValue;    
}

你可以使用如下双向绑定。

scope: {
    datasource: '=datasource'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM