在javascript文件中,代码如下:
angular.module("amodule")
.directive("bdirective",function(){
return{
scope: {
testIsolated: '&test',
},
restrict:'EA',
replace: true,
templateUrl: "address.html",
}
.controller{"ccontroller",function($scope){
$scope.test=function(){
w="changed"
return w;
};
};
在index.html
文件中,代码如下:
<bdirective testIsolated="test()"></bdirective>
...
在address.html
文件中,代码如下:
<button ng-click="result=testIsolated()">Button1</button>
...
我认为单击Button1时,应运行testIsolated,然后运行test()
。 "result"
的值应更改为"changed"
。
但它不起作用
任何人都可以帮我搞清楚吗?
提前致谢
答案 0 :(得分:1)
如果你这样做会有用:
#1 将属性更改为test
:
<bdirective test="test()"></bdirective>
或者,#2 更改了隔离范围绑定的定义方式:
scope: {
testIsolated: "&"
}
,由于Angular如何规范化属性,该属性被连字符test-isolated
:
<bdirective test-isolated="test()"></bdirective>