指令模板(items.html)
<h1>
This is Second.
{{header}}
</h1>
<hr>
<ul>
<items-list item-cart="items" format-currency-function="formatPrice(cost)"></items-list>
</ul>
此自定义指令用于Second.html
myApp.directive("itemsList", function(){
return{
templateUrl:"contents/Views/Directives/Items.html",
replace: true,
scope:{
itemCart: "=",
formatCurrencyFunction: "&"
},
restrict:"EACM" // E-Element A-Attribute C-Class M-Comments
}
})
myApp.controller('secondController', ['$scope', '$log', '$http','$routeParams', function($scope, $log, $http, $routeParams) {
$scope.formatPrice = function(price){
return "₹ "+parseFloat(price).toFixed(2);
};
$scope.header = 'Second ' + ($routeParams.num || "");
$scope.testSecond = "Second";
$http.get("/items")
.success(function(data){
$scope.items = data;
});
}]);
Controller的代码是:
1 2 3 4
函数formatPrice不是从指令Items.html
调用的我的代码中需要纠正哪些内容才能使其正常工作?
答案 0 :(得分:0)
在指令的链接功能中,您将要调用这样的方法:
import numpy as np
A = np.random.rand(197, 10)
B = np.random.rand(3247, 197, 10)
loc = np.where(A > 0.9)
B[:, loc[0], loc[1]].mean(axis=1)
})
答案 1 :(得分:0)
通过在Second.html页面中使用ng-repeat而不是指令来实现此功能。
指令模板(items.html)
<li>
{{item.title}} <br>
{{item.category}}  
{{ formatCurrencyFunction({cost: item.price}) }}
</li>
此自定义指令用于Second.html
<h1>
This is Second.
{{header}}
</h1>
<hr>
<ul>
<items-list item="item" format-currency-function="formatPrice(cost)" ng-repeat="item in items"></items-list>
</ul>
JS文件中的代码
myApp.directive("itemsList", function(){
return{
templateUrl:"contents/Views/Directives/Items.html",
replace: true,
scope:{
item: "=",
formatCurrencyFunction: "&"
},
restrict:"EACM" // E-Element A-Attribute C-Class M-Comments
}
})
答案 2 :(得分:0)
在指令的link函数中,您需要通过向该属性应用一些事件来调用该方法
答案 3 :(得分:0)
控制器函数'formatCurrencyFunction()'不能通过将其放在表达式中来调用。
要使用你需要根据偶数调用它的功能,在你的情况下,ng-init将起作用。
<li ng-repeat="item in itemCart" ng-init="formatCurrencyFunction({cost: item.price})">
{{item.title}} <br>
{{item.category}}
</li>