我仔细阅读了关于这个主题的AngularJS文档,然后摆弄了一个指令。这是fiddle。
下面是一些相关的代码片段:
HTML{{text}}
作用域:{ biTitle:'=',标题:'@',bar:'=‘},
有几件事我不明白:
'@'
中使用"{{title}}"
,在'='
"title"
我也可以直接访问父作用域,而不用用attribute?我还发现了另一个显示表达式解决方案的小提琴:http://jsfiddle.net/maxisam/QrCXh/
发布于 2012-12-27 14:20:30
=
意味着双向绑定,因此对父作用域的变量引用。这意味着,当您更改指令中的变量时,它也会在父范围中更改。
@
表示变量将被复制(克隆)到指令中。
据我所知,<pane bi-title="{{title}}" title="{{title}}">{{text}}</pane>
也应该可以工作。bi-title
将接收父范围变量值,该值可以在指令中更改。
如果需要更改父作用域中的几个变量,可以从指令中在父作用域上执行函数(或通过服务传递数据)。
发布于 2014-11-22 07:19:34
如果你想通过一个活生生的例子更多地了解它是如何工作的。http://jsfiddle.net/juanmendez/k6chmnch/
var app = angular.module('app', []);
app.controller("myController", function ($scope) {
$scope.title = "binding";
});
app.directive("jmFind", function () {
return {
replace: true,
restrict: 'C',
transclude: true,
scope: {
title1: "=",
title2: "@"
},
template: "<div><p>{{title1}} {{title2}}</p></div>"
};
});
发布于 2015-08-26 11:40:27
@
get as string
传入的单词
=
双向绑定
从控制器所做的
&
的行为略有不同,因为作用域获取了一个函数,即返回在中传递的对象。我假设这是使其正常工作所必需的。小提琴应该清楚地表明这一点。
函数时,结果对象的行为如下:
This fiddle should demonstrate how they work。请特别注意名称中包含get...
的作用域函数,希望能更好地理解我所说的&
的含义
https://stackoverflow.com/questions/14050195
复制相似问题