<html> <head> <meta charset="utf-8"> <title></title> <!-- <link rel="stylesheet" type="text/css" href="../dist/2.0/fineui.min.css"/> <script src="../dist/2.0/fineui.js"></script> --> <link rel="stylesheet" type="text/css" href="http://fanruan.design/fineui/2.0/fineui.min.css" /> <script src="http://fanruan.design/fineui/2.0/fineui.min.js"></script> </head> <body> <div id="wrapper"></div> <script> // tab上下文环境测试 var Model = BI.inherit(Fix.Model, { state: function () { return { expand: false }; }, childContext: ["text"], computed: { text: function () { return this.model.expand ? "text-yes" : "text-not"; } }, actions: { toggle: function () { this.model.expand = !this.model.expand; } } }); BI.model("demo.model", Model); var ChildModel = BI.inherit(Fix.Model, { context: ["text"] }); BI.model("demo.child_model", ChildModel); var Child = BI.inherit(BI.Widget, { setup: function () { var label var store = BI.useStore(function () { return BI.Models.getModel("demo.child_model"); }); BI.watch("text", function (text) { label.setText(text) }); return { render: function () { return { type: "bi.label", ref: function (_ref) { label = _ref; }, text: store.model.text }; } }; } }); BI.shortcut("demo.child", Child); var Widget = BI.inherit(BI.Widget, { props: { updateMode: "auto" }, setup: function () { var child; var store = BI.useStore(function () { return BI.Models.getModel("demo.model"); }); setInterval(function () { store.toggle(); }, 1000); BI.watch("text", function () { // child.reset(); }); return function () { return { type: "bi.vertical", vgap: 20, items: [{ type: "demo.child", ref: function (_ref) { child = _ref; } }, { type: "bi.combo", el: { type: "bi.button", text: "点击" }, popup: { el: { type: "bi.tab", height: 100, showIndex: 0, cardCreator: function () { return { type: "demo.child" }; } } } }] }; }; } }); BI.shortcut("demo.parent", Widget); BI.createWidget({ type: "bi.absolute", items: [{ el: { type: "demo.parent" }, top: 100, left: 100 }], element: "#wrapper" }); </script> </body> </html>