我有一个核心控制器
(function() {
"use strict";
function FieldSettingsOverlay($scope, localizationService, formService, userService) {
var vm = this;
vm.changeValidationType = changeValidationType;
vm.validationTypes = [{
"key": "number",
"pattern": "^[0-9]*$"
}, {
"key": "url",
"pattern": "https?\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}"
}];
function changeValidationType(selectedValidationType) {
console.log("Parent")
}
}
angular.module("umbraco").controller("UmbracoForms.Overlays.FieldSettingsOverlay", FieldSettingsOverlay);
})();
从这个父控制器我有一个名为vm.validationTypes的数组,这个目前只有2个对象,但我必须添加3个或4个对象。
所以我通过扩展核心控制器
创建了另一个控制器// CustomValidation
angular.module("umbraco").controller('FromValidationCustomController', function ($scope, $controller) {
'use strict';
console.log("inistiate")
angular.extend(this, $controller('UmbracoForms.Overlays.FieldSettingsOverlay', {$scope: $scope}));
$scope.changeValidationType=function(){
console.log($scope.validationTypes)
}
})
新的扩展控制器使用名为changeValidationType的相同函数它甚至不调用它只调用父函数
任何想法我错过了什么?为什么这个控制器里面没有调用函数
答案 0 :(得分:0)
发布的代码有问题。 请检查有效的更新的最小代码部分:
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.js"></script>
<div ng-app="example1">
<div ng-controller="FromValidationCustomController as C">
<span><b>From Parent Controller:</b> {{C.changeValidationType()}}</span>
</div>
</div>
&#13;
outer(as.vector(tt[,1]), as.vector(d[,1]), function(x,y){x*y/(td*ee)})
&#13;