企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
##开发系统ui * 系统ui模板 ~~~ js部分: ~~~ ~~~ (function () { 'use strict'; angular.module('System').directive("sysUi指令名", [function(){ return { replace:true, scope:{ sync:"=", on:"=", trigger:"=" }, templateUrl:'SysUi/Template/sysUi指令名.html', link : function(scope, element, attrs) { }, controller:["$rootScope","$scope",function ($rootScope,$scope) { //数据双向绑定 $scope.data = $scope.sync; $scope.click = function ( obj ) { //调用控制器方法 $scope.trigger('myclick','ui调用控制器方法'); }; //绑定事件提供控制器调用 $scope.on('uiclick',function ( arg ) { alert("ui绑定的事件"+arg); }); }] }; }]); })(); ~~~ 模板视图部分 ~~~ <div style="background: #f0ad4e"> <h1>ui部分</h1> <hr> <p>数据双向测试:<input ng-model="title"></p> <button ng-click=”click()”>点击我调用页面控制器方法</button> </div> ~~~ * 页面控制器调用ui指令 ~~~ js部分 ~~~ ~~~ //ui数据绑定 wjSystem.sysUi({ mydemo:{ sync:{ title:"标题" }, on:{ myclick:function ( str ) { alert("页面控制器方法myclick:"+str); } } } }); //调用ui方法 $scope.click = function () { //调用ui方法(下面两种是等效的,个人习惯爱用哪种都可以) wjSystem.sysUi('mydemo').trigger('uiclick', "控制器调用ui" ); //调用ui方法 wjSystem.sysUi("mydemo.uickick")("控制器调用ui,点调用写法"); //点调用ui方法 }; ~~~ ~~~ 模板视图部分 ~~~ ~~~ <div style="background: #bbbbbb"> <h1>控制器部分</h1> <hr> <p>数据双向测试:<input ng-model="mydemo.title"></p> <button ng-click="click()">点击我调用ui页面方法</button> </div> <br /> <sys-ui data="mydemo" name="demo"></sys-ui> ~~~ &nbsp;